Fix rhel5 / python2.4 mmap error

Running whisper-dump on RedHat 5 produces the following error:

Traceback (most recent call last):
  File "/usr/bin/whisper-dump.py", line 84, in ?
    map = mmap_file(path)
  File "/usr/bin/whisper-dump.py", line 19, in mmap_file
    map = mmap.mmap(fd, 0, prot=mmap.PROT_READ)
EnvironmentError: [Errno 22] Invalid argument

Which can be fixed by supplying an explicit size to the mmap call.
Merge pull request #8 from snore/master

Fix whisper-dump.py with older mmap api
clarify time interval when raising error about it
remove pointless branch

since if not (fromTime < untilTime) we raise an exception, we consider
this an invalid request, and this branch is moot
only advance fromTime to oldestTime to the extent it doesn't surpass untilTime

the consensus seems to be that we raise an error if a user requests data with
fromTime >= untilTime, but for all other cases, we adapt the range so that it
makes more sense.  Sometimes this means the collection of datapoints will be empty
but that's the users' problem.
Be explicit about returning no data in fetch

Explictly return None when no data is possible but the fetch request
was otherwise valid. Reorganize time checks to be a bit more clear
Correct filtering of duplicate values

The change in a8e30fa445 caused the *first* of duplicate values to be
recorded when our documented behavior is the opposite
Changed order that spare/fallocate options are honored in so that
enabling sparse doesn't override fallocate
Merge pull request #9 from drawks/master

fix sparse/fallocate option parsing order
Split out archive reads into a reusable function
Merge slackhappy/whisper with modifications

Closes pull request #10

Enforce merges to be strictly between two whisper files with the same
archive configuration and do a direct archive copy. This solves the
issue of time changing between archive copies.
--approximate option for whisper-resize
Fixing file locking