Prototype System class.

@moorepants, can add your tests to this branch? From this point I'll write code in a test-driven way. It'd be fun to continue to work on this together, but I'm also happy to do the coding and you can review afterwards (if you're busy, etc.).

- [ ] Edit Scene so that it takes in a System.
- [ ] Make KanesMethod and LagrangesMethod derive from a single abstract base class (ABC), perhaps MechanicsMethod. This ABC will be required to provide certain attributes.
- [ ] Document in Sphinx, README, etc.
What's the difference between the `constants` dictionary and `specified_symbols`/`specified_values`? If I were to do: `dict(zip(specified_symbols, specified_values))` would this be the same as `constants`?