Add gzip compression, can be disabled in config.js

Closes #1305
- added compression module
- added new server config variable: compress
- gzip enabled by default
Merge pull request #2687 from shindakun/expressgzip

Add gzip compression, can be enabled/disabled in config.js
Refactor omit of password

- remove password in toJSON() instead of filtering every occurrence of
user
- changed faulty error type ‚NotFound‘ to ‚NoPermission‘
Merge pull request #2691 from sebgie/omit-password

Refactor omit of password
Sanitize models' attributes/options before passing to bookshelf/knex

closes #2653
- enforce strict whitelists for model methods
- create a class method on BaseModel that reports a model's attributes from schema
- create a class method on BaseModel that reports a model method's valid options
- create a class method on BaseModel that filters a model's valid attributes from data
- create a class method on BaseModel that filters valid options from a model method's options hash