Broke JSON (de)serialization test suites up into smaller tests.
Added a default constructor to assist JSON serialization.
Refactored tests to use ShouldMatchers.
FunctionReference JSON serialization tests.
Refactored how Value.primitive is overridden to facilitate JSON serialization.
Renamed Number to NumberSimple to avoid naming conflict.
Added Block equals & hashCode.
FunctionReference (de)serialization tests.