Changes date_sort to use heapq module.

Uses heapq.merge to sort input from mulitple sources instead of
our own sort module.

From profiling heapq.merge is more efficient than our own efforts.
Removes sort module.

Sort module is now unneeded with use of heapq.merge

Also adapts test_perf_tracking so that it uses date_sorted_sources.
Removes done message.

Instead of checking for 'DONE' on each call uses generators
builtin StopIteration for signalling the end of input.
Adds _ prefix to decorate_source to imply internal usage.
Merge pull request #53 from quantopian/performance-improvements-sorting-and-done-message

Performance improvements sorting and done message