Write the last received value for a datapoint

Keep points in input order. Sort points to have proper time order as order of dict.items() is arbitrary. See: http://docs.python.org/2/library/stdtypes.html#mapping-types-dict

Previously when doing currentPoints.reverse() it reversed values instead of keeping values of the same timestamp in input order. After dict value was first value in input order and not the last.

Patch is agains 0.9.x branch. I saw bug in 0.9.12 and this patch fixes it. I have not done any performance testing but my guess is sorting points one more time will have some impact.

Also see:
https://bugs.launchpad.net/carbon/+bug/973420
https://github.com/graphite-project/whisper/pull/33
https://github.com/graphite-project/whisper/pull/61
This would need to be:
```
alignedPoints.reverse()
alignedPoints = dict(alignedPoints).items()
```
because points is no longer reversed by file_update_many() so otherwise we'll be taking the first val of dupes rather than the last.  Otherwise, just reinstate lines 595 and 610 above.