Implement BST, add basic tests

Fixes #2