Rbarlow iso uploads

This pull requests adds the ability for the ISOImporter to accept ISO uploads.

It also contains a refactor in sync.py. I decided that there was going to be some code overlap if I didn't split out some of the work that sync.py did into a separate module, since uploading a Unit and syncing a Unit do some of the same things. To accomplish this, I introduced two new models: ISO and ISOManifest. I think these are going to be pretty useful, and they are simple and easy to understand and use, which is an improvement for our code in this area.