Dont complete partial files

This adds error messages and test cases for Issue #332.  If you try to upload too much data for a file, an error is thrown and that last chunk that was uploaded is ignored.  If you try to complete an incomplete file, as error is thrown.  This only applies to filesystem and gridfs assetstores.
We can do this with one query rather than looping:

    self.chunkColl.remove({'uuid': upload['chunkUuid'], 'n': {'$gte': startingN}, multi=True)