Improve #upload-method and documentation.

The upload method will now reject if the passed value would
be stored under a key that is already in the manifest. This
makes sure that there will be no uploads stored under the same
key in the manifest. This can be used by a grunt task to output
a message if the user has forgotten to commit the current state in
the repo but tries a new upload anyway.
Bump version.