Separate numPositions and numVelocities

Basically the smallest pull request I could manage to produce while still introducing the difference between num_positions and num_velocities and maintaining functionality.

* got rid of Manipulator <-- SecondOrderSystem inheritance
* num_positions, num_velocities in Manipulator
* position_num, velocity_num in RigidBody
* nq/nv, getNumDoF/getNumPositions/getNumVelocities, num_q/num_positions/num_velocities changes throughout
* Manipulator: add vToqdot, qdotToV
* RigidBodyManipulator: add qdotToV, vToqdot
* RBM: compile: compute num_positions / num_velocities
* RBM: update constructStateFrame
* RigidBodyJointSensor: state_mask instead of dof_mask

warnOnce concerning future deprecation in Manipulator.getNumDOF and Manipulator.setNumDOF for now. I changed all calls to getNumDOF and setNumDOF in Drake though.

Everything except Manipulator.dynamics still assumes that qd == v, which will of course be fixed in an upcoming pull request. Existing functionality (rpy dynamics) should still work as it used to.

I'm sorry about getting the credit for some of Russ' changes. I had to pull a few commits apart.
it's unfortunate that people will just get an error on this (instead of a "deprecated message").  
can you add a comment right here saying dofnum is deprecated, use position_num or velocity_num instead?

note: we could actually give a helpful error if we overloaded subsref, but i'm pretty sure that would much up the works of our most important class, so you're right to have not done it.