more checking for gs_error
upload - fix for checking state before run

this could happen if the user attempts an upload
and then attempts ingesting the same again

the previous behavior was just broken
raise nicer exception on invalid json

rearrange exceptions to prevent circular deps
better handling of call to importer progress

if the call fails, give a few chances before giving up
Merge branch 'mapstory' of github.com:opengeo/geonode into mapstory