* allow groups.join to take an array of group names
* pass an array to groups.join/leave in privileges
* split up groups/membership
* add hits/miss to group cache
* fix typo
* add probe image size and max image size
* replace jimp and image-probe with sharp
* better name for test
* resize with just path
* resize thumb inplace
* use filename
Groups.destroy can take an array of groupnames
Groups.leave can take an array of groupnames
db.incrObjectField/decrObjectField can take an array of keys
db.sortedSetRemove can take an array of keys and values
db.setRemove can take an array of keys
* ability for users to choose how they receive notifications
add type field to more notifications, the type field is used to
determine what to do based on user
setting(none,notification,email,notificationemail)
* change var name to types
* cleanup
* add event types for privileged users
* remove unused language keys
* fix uids check
* changed if statements
* upgrade script to preserver old settings
* cache mongodb objects
remove user settings cache since it is cached at the object level
* removed indexOf from isMemberOfSets
* change has to get, change maxAge to 0
Bumping eslint & configs meant making some linting fixes
For future reference, the `xmlhttprequest-ssl` library must be of equal versioning to the one in `engine.io-client`, otherwise it won't be deduped which causes the socket.io tests to fail