Add sparsity properties to DrakeFunction.

Now iCfun and jGvar are protected properties. Classes that want to specify
sparsity now need to overload the setSparsityPattern method.
Changed RigidBodyManipulator.bodies from std::vector<RigidBody> to std::vector<std::unique_ptr<RigidBody>> in preparation for adding a std::unique_ptr<DrakeJoint> member to RigidBody.

Conflicts:
	systems/plants/constructModelmex.cpp
Now creating DrakeJoints in constructModelMex and storing std::unique_ptrs to them in RigidBody objects.

Conflicts:
	systems/plants/constructModelmex.cpp
Add doc for DrakeFunction.plus/minus
Now setting DrakeJoint in URDFRigidBodyManipulator as well.

Conflicts:
	systems/plants/constructModelmex.cpp
Cleanup.
Fix sparsity methods in drakeFunction.kinematic.Kinematic
Merge remote-tracking branch 'origin/master' into drake-function
Fix typo in kinematic.Kinematic
Update kinematic package for pos/vel split
Make input/output frames protected, not immutable

Need to do this to allow resetting of the input_frame in kinematic.Kinematic
Fix bad nargin checks in RigidBodyManipulator
Add typecheck in RBMFunction/setRBM
Add checks for empty props in RelativePosition
Use nested MultiCoordinateFrames in Concatenated
Silence warnings in relativePositionTest
Merge pull request #341 from avalenzu/drake-function

Drake function
move files outside of unneeded class folders.
Implements flatplate coefficients with control surfaces.
update unitTest.m to support matlab packages/namespaces