Change AbstractStore implementation to be <Key, Value> type, similar to C++ map, but Value has to be comparable to Key AND other Value.

- Implemented Search and Insert to BinarySearchTree
- Added TestClass and TestProgram to test Insert and Search functions