Added more end to end tests and field

Added some integration tests that actually go end to end.
When all the pieces are in place they should pass. I did quick versions
of indexer, database, and fieldSearch, and using those all the tests I
had passed, but I won't commit those.
Field was updated so that it can be used as a key in a hash table.
Updated test for the two main cases
rewrite Indexer
Added constructor for fieldsearch

added the constructor so the code has less errors.
Merging master onto Tom's branch