EAGLESIX-2687 updated port of Value
Added unit test module with test cases for Document
Added instanceof assertions to clone unit tests
Remove unnecessary new Object calls
EAGLESIX-2688 Minor changes. Added error codes to some Errors. Commented out a duplicate method.
EAGLESIX-2691 First stab at the templates VariadicExpressionT class.  It depends upon other classes that are not yet converted so it is not working.
Merge branch 'feature/mongo_2.6.5_expressions' into feature/mongo_2.6.5_expressions_Document
Merge branch 'feature/mongo_2.6.5_expressions' into feature/mongo_2.6.5_expressions_Variadic
Document updates and test cases
EAGLESIX-2691 Upgraded the files touched previously to use the new Factories/Templates.
EAGLESIX-2691 Renamed a test file to use the _test name.
EAGLESIX-2691 Renamed the test files I have enhanced to _test
EAGLESIX-2691 Added test cases for an argument being passed to the constructor (where none are expected).
EAGLESIX-2892 broke out and expanded DepsTracker into own class
EAGLESIX-2892 ported ParsedDeps
EAGLESIX-2695 Ordered functions to match the c++ code.  Minor grammar changes only.
EAGLESIX-2892 added DepsTracker unit tests
docs from another pass thru the 2.6.5 value files

This one is pretty important so I wanted to make another pass through and capture any docs that I could glean from the original `value.cpp` and `value.h` files (and reorder things similarly to how they have them to make bug fixing easier).
Merge branch 'feature/mongo_2.6.5_expressions' into feature/mongo_2.6.5_expressions_Value

Conflicts:
	lib/pipeline/Value.js
EAGLESIX-2687: mv Value test file into tests dir