Accumulated ascent/descent

I think this code works OK for most routes. There is a problem with routes that have ascent/descent less than the accuracy setting(defaults to 30 meter). The user will then just get zero as result for both ascent and descent.