removed unnecessary no-argument @JSConstructor from Mongo adaptor class
- removed log4j dependency (never actually used)
- removed MongoContextFactory as recent testing has shown it to be unnecessary... NOTE: FEATURE_DYNAMIC_SCOPE may be valuable for multi-threaded applications but that is just a hunch
- added a mechanism to direct the output of JS print(..) calls to a specific implementation of the PrintHandler interface for the current MongoScope... default behavior if none set is to use Global.print() implementation (typically stdout)... this opens the door for sending print(..) output through a logging system such as log4j
added back MongoContextFactory

- when using a ContextFactory without FEATURE_DYNAMIC_SCOPE enabled the behavior of DBRef and DBPointer types is unpredictable
- issue #1 resolved: added LoggingPrintHandler and test class using mocks
- refactored MongoScopeWithPrintHandlerTest to use mocks
- pom.xml includes easymock and slf4j dependencies
issue #2 work

- commented/cleaned out code for static prototype registry... 7 tests fail as a result (known issue, working to understand further)
- left in mostly unused MongoScope.childPrototypeRegistry member (non-static)... this change does not solve the problem
merge from master
post merge cleanup
issue #3 changes

- MongoScriptAction refactored to detect and handle special shell commands like "show" and "use" as they are handled by the official mongo shell
- for this functionality to work these commands must be provided as simple string commands with no other content, ex "use testdb"
issue #3 changes

- fixed silly mistakes in special shell command handling
- added basic sanity check unit test for special shell help command handling
- added support in JSTest for javascript tests that do not originate from mongo code base
fixed silly mistake... using wrong String method to find out if a character exists in a String
issue #4

- implemented native system calls: ls, pwd, listFiles, hostname, cat, removeFile
- run, runProgram, and getMemInfo set to throw UnsupportedOperationException for now
- md5sumFile and fuzzFile TODO
- unit tests for new features
issue #4 progress and issue #5 resolved

* issue #4
- implemented shell_utils_extended.cpp functions save for md5sumFile(), which is in-progress, as well as getMemInfo(), run(), and runProgram()... the latter three are not currently going to be supported
- unit test coverage (with some failures that need to be addressed) for all but fuzzFile() and md5sumFile()

* issue #5
- test coverage for BinData and UUID round-tripping
- addressed issue around byte endianess (Java is big endian while mongodb wire protocol is little endian) by converting endianess properly in BSONizer
issue #4

- fixed cd() call and test
- fixed ls() and listFiles() tests
issue #4 fix

- fuzzFile() fixed to properly flip bits in a byte without requiring anything needlessly fancy with BitSet (what was I thinking!?!?!?)
issue #2 and issue #6 resolved

- if the new keyword is not used to construct an object then Rhino doesn't set the parent scope or prototype for said object... implemented workaround where a threadlocal stores the currently executing Context's associated MongoScope and if any property is accessed via a ScriptableMongoObject a check is made if prototype or parent scope exist... setting the appropriate values if none are found
- adding explicit test coverage for constructing mongodb objects without the new keyword
better fix for issue #2 and issue #6

- replaced ThreadLocal<MongoScope> and MongoScope implementation of ContextFactory Listener with MongoContext (created by MongoContextFactory)
- MongoContext holds a reference to a MongoScope and has getter and if-not-null setter method
- MongoAction implements ContextAction.run(Context) checking if the Context is a MongoContext, and if so then calling the MongoContext if-not-null setter method with the MongoAction.mongoScope member variable
- expanded constructWithoutNew.js test to include ObjectId(SOMEVALIDIDSTRING).getTimestamp() (reported failing by some)
issue #8 resolved

- cls, quit(), and exit handling implemented via ClearHandler and QuitHandler interfaces with implementations set in the MongoScope class
issue #4 resolved

- finished md5sumFile() implementation and added unit test coverage for fuzzFile() and md5sumFile()
issue #9 and issue #10 resolved, minor updates to README.md

- catching NoSuchElementException when db.runCommand() is called without arguments and translating that into a CommandResult setup to mimic what the official shell would return
- Mongo constructor sets JavaScript 'host' variable at the end using the specified hosts so the JavaScript toString() call will return the correct result
- test coverage for both issues added
- version of mongodb tested against indicated at top of README.md
- minor formatting changes
- pledgie icon added to README.md
fixing test for issue #10, failing in CI due to unexpected hostname checks against dummy hostnames... using 127.0.0.1 for simplicity