Support toJSON() modes to alter relation outputs in specific situations

Added support for mode in toJSON().  When defining model, includeInJSON can now be an object: { 'mode': includeInJSONValue }.  toJSON() supports mode as an option, and uses 'default' mode if none used.