Abstraction Experiment.fitForceExtension() => _constrainFitDatFromLimits()
ADDED MMS_rip() and improved fixed parameter fitting

Added curvefit.MMS_rip(): 7 parameter inverted fitting function.

Added an updated version of useful.fix_args, which is variation
of functools.partial. Any argument can be fixed via keyword, which
are then removed from the positional argument list.

>>> func = lambda x,y,z: x,y,z
>>> fix_func = fix_args(func, y=10)
>>> fix_func(1,20)
1
10
20

fix_args() is used in curvefit.Fit to create a fitting function
with fixed parameters, which can be set with keyword arguments.
Changed force offset convention of MS and

Added Fit.name instance variable and keyword argument.
ADDED import broadcast to from useful in curvefit.py
UPDATED fix_args to use positional argument

When fixing arguments of a function f, it used f(**kw) for all.
But if f expects a positional argument, you have to use at least
one, so now fix_args uses the first positional argument if one
exists.
UPDATED Experiment.Pulling FEC fitting API

ADDED fitHandles() and fitRip(): fit lower and upper parts of FEC
The fitting parameters for the handles are used to fit the rips as
well, so this is saved in .handles variable. fitRip() then uses
parameters from .handles with the 'MMS_rip' fitfunc to fit upper
portions of the FEC and saves them to the list .rips through
.addRip(). More calls to fitRip() will overwrite the last rip fit
until nextRip() is called.

pull=Experiment.Pulling.fromFile('test')
pull.plot()
pull.fitHandles(800,12.5)
pull.fitRip(f=14)

=> The saved fits
pull.rips
pull.handles
pull.fits # both

=> The last fit done using fitForceExtension
pull.lastFit

=> To fit more rips
pull.nextRip()
pull.fitRip(...)

pull.ripSizes
Playing fitting
FIXED fix_args and validated with testing

Got nose tests running and confirmed that fix_args is working
with MS and MMS. There was a bug in useful.broadcast that was
making things complicated (left out **kwargs in one call) as well
as the fact the broadcast() mechanism required the first position
argument. I simply set a .broadcast variable on functions passing
through so fix_args would deal properly. Hack-y but works.
Renaming test files
Adding test files
Adding setup.cfg for nosy
Adding testUseful.py
ADDED __str__ function to Fit
Experiment.fromFiles() accepts list or *args of filenames
UPDATED testUseful fix_arg tests with M/MS
testCurveFit needs updated
UPDATED Constants: logging level to fatal only
ADDED test_s1m3.str
Merge branch 'feature-rips'