Manual merge of original reader implementation
Merge branch 'master' into 'reader-3'
Checkpoint

Change telemetry port on ingestd to 5569.
Merge branch 'master' into 'reader-3'

Conflicts:
	src/IngestDaemon.hs
	src/TelemetryProgram.hs
Update python utils to deal with repeated source
Begin adding Map vs HashMap benchmark
Continue porting ingestd code to readerd
Preliminary benchmark of ord Map vs HashMap
Remove unique identifier from request protobuf
Implement reader loop in ReaderDaemon

Remove handling of origin from RequestMulti protobuf, instead
conveying it as a message part via the ZeroMQ REQUEST.
Handle compression failure by sending empty reply
Change "mystery" to "client"
Handle unspecified end time
Make end time obligatory

If the user wants to request a time range ending at now, they can just
send in their idea of now as the omega field in the request protobuf.
Correct telemetry port
Add type wrapper for Timemark
Test Timemark range calculation

Fix bug in calculateTimemarks.
Return partial buckets limited to requested range

Finish ReaderDaemon code by correctly calculating sub ranges of points
from selected data buckets. In a broad range then the entire bucket
will be served, but on the two edge cases, containing alpha and omega,
we need to split and only return the points >= than alpha and
<= than omega.
Merge branch 'reader-3'

Conflicts:
	src/Vaultaire/Persistence/BucketObject.hs
Merge branch 'benchmark-sorted-maps'