First pass at key abstraction definition

This work has largely been centered on defining the Solver API trait and
the EDSL provided in the problem package.
Fixed the Expression AST contents

The prior incarnation was retaining extraneous objects in intermediate
nodes.  Also increased test coverage to verify the contents of the AST
are what, in fact, is expected.
Enhanced Expression's Symbol-only Equation support

Also cleaned up some of the Scaladoc and added to the project README.md
contents.
Committing files missed in last commit

I seem to forget the "--all" flag on commits far too often.