Store a more professional version of the UI cookie.

The previous version worked, but left a lot of encoded %ff characters.
This is now just a string of base64 encoded text.
Conform DB Technologies Button.

I had originally implemented DB Techs button as a single open and close
operation.  Now there is a more natural close button in the upper right
of the opened div, and the DBTechs button is not forcibly on top of
everything.
Clean up saving Vintages.

If a modeler removed the final year in vintages, then the frontend
correctly did not treat the next final year as a valid vintage, but the
data was still lying around in the DB.  Though this behavior wouldn't or
shouldn't prove to be a problem, it also not expected.  Now, all
associated data is correctly dropped from the DB when a vintage is
removed.
Once save is done, commit.

Unintentional addition to the transaction.
Remove some long since stale URL patterns.
The advice is: don't force on other scripts.

"use strict" is a nice idiom, but the reality is that not all scripts
may use it.  We should be fine since I've been developing with it in a
global context, but who knows what library I (or someone) might decide
is important to utilize, and that does not follow work under stricter
browser enforcement.
On error, focus cursor automatically.

I believe that it doesn't "feel" correct for all fields to lose focus
when a form is submitted.  However, we disable the form inputs to
approximate some semblence of atomicity ("Hey user, with your 1 KB/s
connection: don't make a change until we've verified we're in sync with
the server!").  The disabling makes them lose focus, so when we reenable
them, give one of the problem inputs (if any) the focus automatically.
NFC: comment update
In case of error, tell the user, and help the programmer.

Debugging information is critical sometimes, and I'm chagrinned that
I didn't think to add the error callback functions earlier.  Would have
been _so_ helpful while scratching my head a number of times.  I'll add
the rest as I go along.
NFC: function rename to more accurately reflect purpose
NFC: whitespace change.

Apparently, I find a space separated semicolon much easier to read in
the CSS format.  There's absolutely no reason for this change other than
that I was having a hard time visually parsing certain elements.
Allow to be deployed at a non-root URL.

The JS URLs were hardcoded to /Temoa/URL/path.  This change makes this a
little bit more dynamic, but it's rather a crutch.  I haven't currently
found the best method for this action yet.  Trial by fire, I suppose.
UI can now manipulate timeslices (SegFrac)
Remove unused decorator
CanJS updated terminology.

The CanJS devs finally realized that what they had been calling Observe,
most of the rest of the dev world would have called a Map.  There was a
certain logic to Observe in that it "observes" it's data, but that's to
be expected given outside knowledge of the CanJS library.  So, a simple
rename.
Properly handle URL arguments.

Previously not able to handle URL arguments previously.  For example,
when using the ?debug=true argument, and surfing to
localhost:8000/temoadb/interact/?debug=true, ROOT_URL might become:

    "/temoadb?debug=true"

This means that the URLs that were built from ROOT_URL would become

    "/temoadb?debug=true/analysis/..."

Which the server correctly says. "Doesn't exist!"
UI can now manipulate DDD.

DDD = DemandDefaultDistribution.
Forgotten import.
Be more consistent with DB column names.
UI can now manipulate Demand values.

Also, enable some manipulation of DDD, like removing.