Correcting458 file upload

This should fix #458.

It was possible to upload ```file.txt``` to the directory ```foo/bar``` even if there was a file ```foo/bar``` before.
This behaviour is restricted now on both, ```lib/``` and ```app/``` levels.

If you try to upload a file beneath another file in the repository, a model validation fails.
On lib level, an exception is thrown.

Futhermore, the UploadFile model/form have the filepath split into a directory and the filename.
As a side effect, you can rename a file at uploading time.