Easy Oversampling and Decimation function and ADC resolution increase

I want to use oversampling and decimation to achieve higher resolution on the analogRead(). I know about the document on http://www.atmel.com/images/doc8003.pdf but I don’t know how to do this programatically.

Is there any easy way to do this, like a ready library with a function to change the resolution?

I need to read a 1 to 5V (4-20mA) value at maximum 2Hz (two readings per second).

Dont be to optimistic. 10bits is ADC is what there is.
Its very likely that noise is alredy present.
Average several readings or do a running average.