Add upload size limit

This fixes #6 and also introduces some functionality for validating
files in the future.