Move old reconstructions to deprecated
New direction reconstructions

Implement analytical algorithms for direction reconstruction
These require 3 detections to reconstruct a direction
Implementations based on work by Fokkema and Montanus
Deprecate old direction reconstruction tests
Remove import in init for direction reconstruction
Make detectors 0 based instead of 1 based
Docstrings and extra class for DirectReconstruction
Merge branch 'master' into refactor_reconstructions
Implement BestFit algorithm (with Hans)

Using scipy minimize with a method that allows bounds and constraints.
Slight style modifications to other algorithm
Better naming convections

The reconstruct() methods now access the bare algorithm and do not expose
a common interface.  Now, we have reconstruct_common() methods which *do*
expose a common interface.  t1, t2 etc. variables are renamed to dt1, dt2,
etc.
Make phi nan if theta is nan
Showers from above!

DirectAlgorithm is 2D so should return zenith = 0 when dt1 and dt2 are
0.
Add tests for some special cases

Test each algorithm to see they give the same results.
DirectAlgorithmCartesian2D and FitAlgorithm don't pass all tests.
Should be made more robust.
Return nan when vz is 0
Sensible defaults for start and stop in esd download

You now don't have to specify start and stop values.  If both None:
download yesterday's data.  If only end None: download 24 hours worth of
data, starting at start.
Sensible default for group name in esd download
Quick-and-dirty shortcut to get some data NOW
Replace some stuff with oneliner

Combine unpacking of tuple into one line
Use iterator for finding available filename
Some improvements to FitAlgorithm

FitAlgorithm turned out to perform badly with integer starting values
(or with starting values equal to 0.0). It also seemed to require
specified values for the options ftol, eps and maxiter. Finally, the
code is a little bit enlarged to find a possible second zenith value.
The handling of the theta's is made similar to DirectAlgorithm3D.
Better If handling.

The handling of the if's and elif's is implemented a little more
elegantly. FitAlgorithm now returns just two values (theta and phi),
which become a nan in case the fit fails.
Put a nice face on sapphire.esd

Most functions are now private, and slightly updated some docstrings.