Testing

- Reorganizes tests into a self-contained directory
- Adds a few unit tests
- Minor README updates