Improve unit tests for Analysis.

The first iteration of these tests weren't really unit tests.  Unit
tests should be small and execute quickly.  Ideally, they exercise only
and exactly one code path, or function.  One "squint test" metric for
this is how large the unit test functions are.  Generally, they should
be less ~10 lines, usually between 1 and 5.

One nice outcome of these tests: the Analysis.__unicode__ function is
now more robust, which will hopefully be more coder friendly for the
next coder learning this TemoaDB.  In other words, prior to this, at an
a Python REPL, a simple interaction like this:

    >>> from process_interface.models import Analysis
    >>> Analysis()
       TRACEBACK!

would result in a traceback.  This commit brings a clean implementation
to make it obvious Analysis() has done.
Proper vintage unit tests.

Small, run fast, and each function targets a single piece of project
code.

And thanks to them, Vintage code mildly robustified.
Unit test for Technology model.

Names should not have any control characters in them: test ensured.
Cleaning code robustified as well.
Fix broken unit test rule-of-thumb.

Wherever possible, avoid touching the DB.  It is slow, s, slow,
slow, slow.
Don't touch DB if not necessary.

For unit tests, which should be as fast as possible, don't touch the DB
unless really necessary.
Minor test change: reduce operations by one.
Forgot to commit the clean()/save() change with test.
Robustify Commodity.__unicode__
Basic unit testing of Commodity model.
Minor Technology test refactor.
Robustify Param_SegFrac.__unicode__
Param_SegFrac unittests.
Separate out clean() from save().

Helps tremendously for unit test speed.
Be more correct with uniqueness tests.

It's a random walk to learn the tools sometimes.  In this case, all
"ancestor" objects are create afresh when using .create(), so in certain
cases, we need to explicitly state that certain objects are shared.
Like users or analyses.
Deleting a model is standard Django.

In other words, this functionality is /well/ tested by the Django folks.
We trust them and their work: no need to retest for them.

Meanwhile, we /should/ test the view's ability to remove objects.  This
is just not unit test worthy.
NFC: refactor t (for Tech) to sf (for SegFrac)
Unit tests for Param_SegFrac
Robustify TechnologySetMember.__unicode__
Test full stringification of SegFrac
TechnologySetMember unit tests