Fix sorting of filelist/grouping of experiments

fileIO.flist was returning things in wonky order. Using the filename
split on '_' as the key to sorted fixes this.

The other issue is that experiment.filelist messes up the order again.
It was using list(set()) which isn't order preserving. Added function
unique() to solve this.

Also changed how experiment.fromFile sets filename so that the
constructor has access to the filename metadata on object creation.
experiment.Pulling.forceOffsetRange=(740,770)
Add experimental defaults to constants.py
Curvefit: add FitRegions and advanced pickling
Fix AbstractData.__getattr__; temp fix .at()
LOTS of experimenty.py stuff. Oops...

Updating fplot.Figure usage in Pulling and Liste
Fixing some pickling stuff
Adding split_reverse_pull() to List
Add __lt__ and free sorting to Base
Add 'reverse' metadata

Updated fplot.Figure API
Add PersistentDict