Possibility to take elevation data into account

This pull request adds elevation data to GraphHopper, a lot thanks goes to @NopMap for the initial implementation and for pushing me to this here :)

Please have a look and report back any issues you get or you see!

Several things were necessary to do so:

 * several data structure needed an elevation property
 * the import process needs to import elevation data, we currently use SRTM but others will follow
 * There can be now two speed values per edge (up and down hill). Useful for traffic jams too. This is already merged to master. See Bike2FlagEncoder for an example.
 * The UI now displays the elevation nicely per route if imported, see below. With the really nice https://github.com/MrMufflon/Leaflet.Elevation plugin where @MrMufflon implemented [this nice feature](https://github.com/MrMufflon/Leaflet.Elevation/issues/13)

The master branch already has cherry picked some changes from this:
 * the introduced reverse property in e.g. the Weighting.calcWeight method and so the algorithms now have a notion of two weights per edge
 * CH is working for two weights per edge, the important bit was to avoid swapping for the single weight of a shortcut

There are still some things to do:
 * speed up of several things
 * the web API should be moved to #164 in order to avoid "clear text" coordinates for instructions which is especially bad for biking & hiking tours
 * trying out world wide coverage and preparation
 * currently not possible to use elevation only for speed changes and throw away after import
 * CGIAR support, see #83 for a ready to use implementation. It is probably just necessary to adapt to the new interface

![ele-screenshot](https://f.cloud.github.com/assets/129644/2450114/4b10626e-aeb8-11e3-8db0-810884318d23.png)