Implemented handling of expressions matching no input

Previously, attempting to take the intersection of regular expressions with
non-overlapping multipliers (eg "aa" & "aaaa") would raise an Exception, instead
of producing a no match regular expression "[]".  These (and other no-match)
expressions are now handled.

o Added a lego.multiplier representing 'never', by making the
  multiplier.min/.max both 'inf' (bound(None)), a previously unused
  configuration.  This turns out to require little additional logic, and
  actually cleans up some code.
o Handle multiplying an fsm by None to produce null (no match) fsm
o Optimize search for unused state number slightly to ~O(1) vs. O(n)
o Simplified <bound> - <bound>, while adding handling for never
o Allow representation of {} (never) and {0} (empty string) multipliers,
  since they are always reduced
o Intersection of non-overlapping multipliers now produces new 'never'
  multiplier, instead of producing invalid (inverted) multiplier Exception
o Prevent elimination of {}, {0} on lego string rendering; should virtually
  never occur anyway, due to elimination by reduce()
o Moved bound/multiplier testing to start of unit tests, due to their
  foundational nature.
o Added some empty/no-match unit tests
o Expand main.py to allow playing around with more expression variants,
  including timing, and an interactive mode for testing input against union,
  intersection and concatenation of supplied expression(s).
Reorganized, fixed some example code
o Moved the lego.py multiplier tests to original order to minimize merge
o Restored restriction on representing zero/never multipliers in regexes
o Corrected processing of test input vectors in main.py example code
Convert greenery into a package
o Pull fsm.py and lego.py symbols into greenery namespace in __init__.py
o Enable relative imports from main.py and in "__main__" test sections of fsm.py
  and lego.py on direct execution, by manually loading module.
o Convert all intra-package imports to explicit relative imports
o Tested in Python 2.7/3.3