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.
This description wasn't very clear, so I wasn't 100% sure whether to use position_num or velocity_num below. Could somebody check this?