updating the update method in the persistence

updating the update method to include a Filter.
changing the dependent classes. adding documentation
and some minor improvements.
improving mongo persistence layer test

adding new tests and fixing some bugs
adding javadoc and fixing tests

adding java docs renaming some classes
and fixing some tests