File upload refactor
- use UploadController to handle moving uploaded files
- make upload directory configurable
- content type logic is now handled in Karwana\Mime