AllowedTypes for s3file. Implements #107

*CAVEAT: Haven't done many pull requests before so feel free to shoot it down!*

Implements #107

Also found that https://github.com/JedWatson/keystone/blob/master/lib/updateHandler.js#L186 would throw:

````
/Users/jamlen/dev/projects/keystone/lib/updateHandler.js:187
					req.flash('error', field.label + ' upload failed - ' + err.message);
					    ^
TypeError: Cannot read property 'flash' of undefined
````

So I fixed that by `var req = this.req;` at the start of the block.