Upload with intermediate files

This changes the workflow to save all original files, it makes it possible to move a lot of the pre and post processing to signals and removes the save method in geonode/layers/utils.py

In particular:

 * All layer upload logic goes trough ``layer_upload``
 * Added traceback and error fields to save information about failed uploads (not yet implemented)
 * Added a processed field to UploadSession (not yet implemented)

Looking forward for comments, especially in relation to UploadSession.

All unit and integration tests pass.