Started work on Linearizer Class

Implemented routine for constraints on position and velocity.
Unsure if it will work if either are missing, most likely will need
to add control flow for this. The API is also complicated, and will
be simplified as more code is ported over.

Also added one test for the new linearize routine. Based off of
the example in Luke and Gilbert's paper. As more functionality is
added to the linearization routine, the work done in this test
will get smaller. Still need to add more tests from the examples
I worked out last week.
Lots of work on linearization methods

- Added `to_linearizer` method to KanesMethod class. This returns
an instance of Linearizer with all information needed for the class.

- Made 1 meaninful test with the rolling disc test case. The other
two tests aren't finished yet.

- _subs_keep_derivs was written. This substitutes in values for symbols,
but keeps the derivatives of the from being substituted out.
Modified func_coef
Added first method for linear system 2nd order 2eqs
Added first method for linear system 2nd order 2eqs
Added method to solve type2 of 2nd order
Resolved conflict
Assorted fixes in Linearizer Class

- Forgot to multiply A and B by P^T when outputting just the
A and B matrices. Fixed.

- Added an eigenvalues test in the rollingdisc test

- Formatting and code quality fixes
Modification in test cases and is_linear match
Line3D class
Added some methods for linear system of 2 eqs for 2nd order
Added support for no f_c/f_v in Linearizer

The Linearizer class now supports linearization for systems with
 - Both configuration and motion constraints
 - Only configuration constraints
 - Only velocity constraints
 - No constraints

Added a test for no constraints. Still need tests for just f_c and
just f_v. Added rough beginnings of `linearize` class method for
KanesMethod. The interface still needs to be decided on.
Modified func_coef
Added first method for linear system 2nd order 2eqs
Added method to solve type2 of 2nd order
Modification in test cases and is_linear match
Added some methods for linear system of 2 eqs for 2nd order
resolved conflicts
Generalized Linearization Routine

The following changes were made to the Linearizer Class:

1.) Now accepts if q, u, or any of the f_# generalized terms
are empty matrices. Linearization proceeds as it should.

2.) Broke the linearization process into a couple "private"
class methods. The ones done so far only need to be run once
upon initialization. This should save calculation time if the
user intends to do multiple linearizations about different
operating points.
Added all methods of linear system of 2 eq of 2nd order