Improve test coverage

I've improved the tests and test coverage of atomic in a few ways:

- Add a few missing test cases.
- Extract the Python implementation of Reference into its own module, so that tests can be explicitly run using it.
- Set up travis to run the tests on Jython.
- Make sure the Java implementation of Reference is used on Jython; I'm not that familiar with Jython, but I had add to update sys.paths for it to be able to find the Java package in com/lapanthere/atomic.