Uploaded images removed if not posted

All images uploaded are registered with the images.js file. They are
given an expiration deadline and tracked until that image is seen in a
new post. At which point, the tracking is cleared.

The way the tracking works is by keeping the url of the image and its
expiration in memStore. An index of expiration times to url is also kept
in memStore. This allows for easy querying of all expired urls. Once a
url is expired, the images is removed from s3 and the url and index is
cleared. If an image is seen in a post before the expiration. The url
and index are removed from the memStore.

A interval is started on server start. This interval queries for expired
images and removes them if they are expired. All options are
configurable.

This design should be updated in the future to something that is
resistant to server faults.