Better support for running tests with other models

The parser now parses the inputs for the material model that
is specified in the input file (let's say j2 plasticity: K, G, Y0).
Then, when it comes to initialization of the material model it
initializes the model that you requested on the command line.
If your model is aware of the possibility of different inputs it
will detect that it is supposed to mimic j2 plasticity and do the
necessary conversions of parameters so that it actually mimics it.

This change was necessary because large complex models don't always
take in K and G, or Y0 or some other input OR they might be called
different things.

For an example check out vonmises.py.

This *shouldn't* ruin any functionality. However, I wasn't able to
verify it with any umats. Sorry if it breaks your workflow, Tim.

Also, at the end of running 'runtests' it prints out a summary
of unsatisfactory tests (if any). I find that very handy when running
many tests and I don't want to scroll back to try to find the failures
and I don't want to fire up a browser to check the summary.html.