Add some comments
Customise Atom ingest to support Microtardis workflow.
Most site policies can now be customised with option constants:

    ALLOW_EXPERIMENT_CREATION = True         # Should we create new experiments
    ALLOW_EXPERIMENT_TITLE_MATCHING = True   # If there's no id, is the title enough to match on
    ALLOW_UNIDENTIFIED_EXPERIMENT = True   # If there's no title/id, should we process it as "uncategorized"?
    DEFAULT_UNIDENTIFIED_EXPERIMENT_TITLE="Uncategorized Data"
    ALLOW_UNNAMED_DATASETS = True            # If a dataset has no title, should we ingest it with a default name
    DEFAULT_UNNAMED_DATASET_TITLE = '(assorted files)'
    ALLOW_USER_CREATION = True               # If experiments belong to unknown users, create them?
    # Can existing datasets be updated? If not, we ignore updates. To cause a new dataset to be created, the incoming
    # feed must have a unique EntryID for the dataset (eg, hash of its contents).
    ALLOW_UPDATING_DATASETS = True
    # If a datafile is modified, do we re-harvest it (creating two copies)? Else, we ignore the update. False is not recommended.
    ALLOW_UPDATING_DATAFILES = True

    # If files are served as /user/instrument/experiment/dataset/datafile/moredatafiles
    # then 'datafile' is at depth 5. This is so we can maintain directory structure that
    # is significant within a dataset. Set to -1 to assume the last directory
    DATAFILE_DIRECTORY_DEPTH = 9
Major changes include:
- Support for updated datasets
- Support for updated datafiles
- Store datafile modification dates
- Matching on experiment title
- Lots of useful logging at debug/info/warn levels as appropriate
- Comments everywhere

Known issues/limitations:
- Doesn't yet handle directory structures within datasets
- Probably crashes if feed doesn't contain modification dates for datafiles
- Title matches are case-sensitive
- Matching against existing title-less experiments is untested
- Sometimes duplicate entries appear in DatasetParameterSet and crash everything
  (possibly caused by strange debug scenarios - ie, simultaneous celery beats)
- I didn't add any tests.
- I only tested against my customised atom dataset provider (for all I know, Picasa import is now horribly broken)
- Makes use of cringeworthy non-standard additions to the Atom feed. Sorry.
- A few debuggy comments left in code.
Fully implement dataset "updated" handling.
Also, support subdirectories within datasets.
Requires a change to tardis_portal.util.get_local_time() to work properly.
Also some nicer log messages (instead of 134584 seconds etc)
Extra warning.
Update documentation.
Catch and log exceptions around enclosure processing.
Merge branch 'microtardis' of https://github.com/stevage/mytardis-app-atom into microtardis
(Joanna H) Make filters work by calling the Django middleware explicitly.
Fixing usernames with spaces.

As identified by Steve Androulakis in: http://mytardis.lighthouseapp.com/projects/90227/tickets/86-atom-app-username-creation
Auto-hide old versions of new files that are imported.
Move options to separate options.py
Merge.
Merge.
Add options for filter processing. Work around issue with saving timestamps for dataset updates that I don't understand.
Merge
Adding UserProfile for new users.

Also making Picasa entries public by default.
Add proxy option,  fix another timezone bug.
Update documentation re: options.
Option to allow full/quick scans of the feed. Full scans pick up 'old', possibly skipped datasets.
Making schemas immutable.

There's no reason a user should be able to change them directly.