Reorganise the sample
Add initial tests
Add tests for time based functions

Allow mocking of the current time by splitting out the time
getting function into a separate method.
Move the index out to the root

This allows samples and tests to be run from the same virtual host /
path.
Add testing info to README
Add test for OTP URL
Merge branch 'feature/tests'