Test against spykeutils for different combinations of cos and tau.
Do not test against spykeutils for tau=0.
Add test that exposes bug for 'missing spike' scenario.
First attempt at fixing at least the rectangular distance function.
Fix issue with counting identical spikes in cross-train terms.

See comments in the code for an explanation of how the fix works. The
problem was that
1. coincident spikes in otherwise non-identical trains were counted
twice
2. instead than adding 1 to the appropriate term for each pair of
coincident spikes, the code was adding 1+markage(i).
Revert numerical precision of tests to default value.

This now shows how there are some remaining issue with the result
of the square distance function for identical trains.
Update tests.
Use long doubles to store exp vectors used to compute markage.

This mitigates the issues with exp(t/tau) and exp(-t/tau) terms
over/underflowing when tau is too small with respect to the spike
times: on my system, if tau=1ms this happened for spike times larger
than a few hundred ms. Using long doubles, I can go up to about 10s.

Overall, there's still work to be done to endure that when the
exponential do blow up we raise an exception at the Python level, as
opposed to what's happening now (all distances being silently set to
zero).
Update tests to cover limits for small and large tau.
Throw exception if tau is too small.

Note that this includes the case tau=0, which in theory we could
implement separately with the analytical solution.

Also, improve error handling raising Python expressions where
appropriate.
Add documentation and remove superfluous code from C++ sources.
Update docs.
Add Sphinx+Doxygen documentation.
Add requirements file for Read The Docs.
Update RTD requirements.
Version bump to 1.0.1.