Added MagicalRecord and refactored

Created an MDAssetQueue class for managing
the assets in an order (and remembering which
assets have been marked as processed already,
so future runs do not show them).