Add 'step' argument to Millstone voltage reader's bytime and bypulse pulse methods, and
refactor related code. Also adds lookuptime and lookuppulse to get time and pulse number
corresponding to a frame number.
Change Millstone HDF5 reading functions to use numpy datetime64/timedelta64 instead of
custom subsectime.
Update Millstone API to use numpy datetime64 instead of subsectime.
Re-organize tools package so that it contains separate modules. Add a time module for
working with numpy datetime64's.
Update plotting module to work with datetime64s instead of SubSecTimes.
Convert Jicamarca package to use datetime64 instead of SubSecTime. Round float time
conversion for Millstone for better accuracy. Remove extraneous subsectime package
references.

At this point, nothing in echolect depends on SubSecTime.
Make xbins and ybins keywords actually work when using exact_ticks=False (for non-time
indices) in implot function.
Whitespace cleanup.