Finished AVL database

AVL tree database is now working, with a decent amount of testing.
Rigorous testing on the efficiency of its storage could be added, and
for completeness the ability to remove fields might be added.

For each BinaryTree database test there is now a corresponding AVL
database test. It should be mentioned that while working on the AVL tree
I discovered just how bad the binary tree implementation I earlier did
was.
As I now know, an array based binary tree really only really works in
the case of a heap, and so the binary tree implementation is extremely
wasteful in terms of space.

However with the working AVL tree this is no longer something that we
need to worry about. While added items to an AVL tree is slower than a
red-black tree and much slower than a binary tree, lookup is faster than
both. Lookup what needs to be fast, not indexing, so that's why the AVL
tree was chosen.