Mex for geometricJacobian and findKinematicPath

* Wrote a mex version of geometricJacobian (and findKinematicPath, which geometricJacobian uses), so that we can use it for task space control on Atlas. 
* Moved tests that were in examples/Atlas to a better place, and updated them so that they compare Matlab vs. mex.
* geometricJacobian in C++ currently uses drakeJoints, so I'm conditionally compiling on Windows. However, the mex version is used by default if use_mex is not passed into geometricJacobians, so the test will fail. I don't want to check for existence of a mex file in Matlab geometricJacobian though, for performance reasons. Of course, really I need to get drakeJoint stuff to compile under Windows, but what do you think is the best solution for tomorrow?
* note that the floatingBase implementation of geometricJacobian will rely on a different format of kinsol, so I'll have to rewrite it later. Still, the findKinematicPath function will be useful later as well.
Yeah. `start_body_ancestors` and `end_body_ancestors` are ordered so that the last element is the root of the tree (world), which indeed I'm assuming is an ancestor of both start_body and end_body. The paths from world to `start_body` and `end_body` (reversed versions of `start_body_ancestors` and `end_body_ancestors`), will be the same until the least common ancestor is reached, at which point the paths diverge. An example:

```
body 14 ancestors | body 11 ancestors
1 | 1
2 | 2
3 | 4
5 | 7
8 | 11
13 | []
14 | []
```
I only look at the first `common_size` entries in each path:
```
body 14 reduced set of ancestors | body 11 reduced set of ancestors
1 | 1
2 | 2
3 | 4
5 | 7
8 | 11
```
and then go from the bottom to the top until I find a match between the two paths.
Since the graph is a tree, it's guaranteed that the paths won't reconverge after they have diverged.