add type/object validation

refactor assert out of validate()

late-bind validate() onto Context.prototype (for use in sub-validation functions)
add Context#getInstancePath (make public)

add validateObjectReqequired (no tests yet)
draft validateObjectProperties(); no tests
add test suite submodule
move submodule
add standard test suite, generate tests (test/suite.js)

add Makefile target for converting test fixtures from json -> js

add object validate (validateObject)

change validateType to not assume type
add string validate

change assert(): bind to Context.prototype and do the assertion/error handling in one step

change validateType() to run all specified type validations regardless of actual instance type
change validate() to run all validators regardless of type

a
fix typo in validateTypes

change validateCombinations callback to run only when overall valid

add Emitter interface to plugin, emit via Context (class level)
fix Context#assert calls to include schema property

add description state to Context, default to schema description

add more error state (buildError)

add optional description param to Correlation#validate
reimpl Context to include more context in messages

note instance() and schema() are now functions not attributes
change validate._types back to object to avoid loading dup validators
add array validate (type/array.js)
note validateArrayUniqueItems not yet implemented

note "properties" test suite passes
version bump