Remove Mpg class and add logorrhea

It's really really stupid to put two higher-order functions in the Mpg
class (and nothing else).  If I want them "separate but equal" from the
public face of TripCost, why not just make them "private" (i.e. renamed
from __foo to __FooClass__foo) methods of the primary class?

Also, add a $#&*ton of expository so that I can communicate with Mr. Wu
by way of needlessly verbose comments as opposed to, y'know, e-mail.

Expository lives in its own file now.  Should probably just have made a
branch of hw01_mileage.py.  Might do that when I properly fix this
stupid repo (screwed-up names/versioning, missing changesets, general
buggery)
Initial checkin of unit "conversion" program.

Crude partial implementation of unit conversion, sorta works, not
interesting enough.
Near-final version of 2nd lab homework assignment

Works, can ask user for units, everything is wrapped up in a class
although it shouldn't be, learning that instance.__dict__ is searched
when accessed from key subscript syntax instance['key'] (or, for
something that won't throw an exception, instance.get('key')), and
instance.__class__.__dict__ is searched when attempting member access
(instance.property, instance.method, instance.property = ...).  Useful
to know, especially since it means I can name my dictionary keys the
same as my method and property names and get away with it.  Muahaha.
Final simple class-based unit converter

Python-3-ic, exposes properties, subclasses dict so you can instantiate
it with some of the dictionary keys set (note that no checking of
__dict__ key setting occurs, so if you set keys that are managed by
properties that have side effects, those side effects will simply not
happen.  The assumption is that if you know enough to set state on
instantiation, you know enough to assume that any side effects that
cascade to other properties or keys will not occur).