Allow for uploading and cropping of profile pictures.
Merge master
Moved api.shared to api.crop and cleaned it up
Invalidating cached users before submitting to Cassandra
Dumping data on upload and crop.
Various JSDoc enhancements
Added tests for:
 * cropping/uploading pictures for another user/non-managed group
 * cropping without uploading
Slightly changed caching of picture URIs + added a testcase
Renamed api.crop.js to api.picture.js
Added error handlers to the amazon backend
Merge branch 'master' into profilepictures

* master:
  Switched config.json to manifest.json to match the new widget structure.
  remove unused async handler from timezone transport
Created IO.destroyStream utility and used in in the Amazon S3 backend
Created Image utility to crop and/or resize images.
Created TempFile utility and made sure to remove tempfiles on all possible errors.
Merge branch 'master' into profilepictures

* master:
  fix error handling
  clean up io tests
  add tests for util.io copy and move
Merge branch 'master' into profilepictures

* master:
  Added login id validation
  Implement check for login id existence
  Minor cleanup
  Changed URL to all lower case
  Changed output to manifest aggregator
  Path fix
  Switched to manifest.json
Added tenantAlias to all the signature methods.
Added a utility method that sets a picture on a principal object.
Expanded on the group picture test.
Added some documentation to the unit tests.
Merge master
Switched from 256x256 to 128x128 profile pictures
Added the thumbnail to the search results for users and groups
Created PrincipalsUtil.getSignedPictureUrl to sign a profile picture uri
Added some tests to verify profile picture visibilities
Added a remove method for the storage backends
Removing stale profile pictures
Including elasticsearch and RabbitMQ in README.md
Parsing strings to ints