Allow flexible mapping for node.js domain classes

TableMapping.js
  add excludeFields(fieldNames)
    fieldNames: fields that are not considered when storing objects
      a single field name, or 
      a list of field names, or 
      an array of field names
  add mapSparseFields(columnName, fieldNames, converter)
    fieldNames: fields that are stored in the column 
      by default, as a JSON document
      if not specified, all persistent fields not otherwise mapped or excluded
    converter: a sparse object converter with two methods: 
      toDB(SparseFieldConverter, js-object) returns a column intermediate value
      fromDB(SparseFieldConverter, js-object, db-value) returns nothing

DBTableHandler
  track the number of non-persistent fields (excluded from sparse field handling)
  change the signature of toDB and fromDB to include
    the JavaScript object being accessed
    the field mapping that governs the processing of the field/column
  the changes to toDB and fromDB allow sparse field handling

mynode.js
  add converters field to hold user-accessible JSON converters

Converters/JSONFieldConverter
  toDB: converts a javascript field into its JSON stringified value
  fromDB: converts a JSON string into a javascript object

Converters/JSONSparseFieldsConverter
  toDB: extracts sparse fields from a javascript domain object
    and creates a JSON stringified value from the fields
  fromDB: uses a JSON string to set sparse fields into a 
    javascript domain object
Return an error if writing non-Buffer data to binary columns

MySQLConnection.js
  check error return from processing fields in buildInsertOperation
  check error return from processing fields in buildWriteOperation

DBTableHandler.js
  check types when getting field values for insert and write operations
    if database type is binary, check that a Buffer is passed as data
lint globals cleanup
jscrund: add support for B tests with varying size varchar.
(Only supported by jscrund_mysqljs crund backend).
When using node --harmony and strict mode, DBIndexHandler cannot be forward declared
  and still use the function DBIndexHandler(parent, dbIndex) syntax.
Enhance closeAllOpenSessionFactories() so it takes a callback & returns a promise
Move SQL.create and SQL.drop from test harness into adapters.
NDB depends on MySQL for this.
docs work in progress
Merge remote-tracking branch 'upstream/master'

Conflicts:
	.bzrignore
	Adapter/impl/ndb/ndb_service_provider.js
	test/driver.js