Docs Makefile additions, compute/numpy tests.

Fixes the problem of capabilities.py failing to create the graph the first time docs are built on a machine. Simple fix. Also, there are some tests and random changes to compute_numpy in here that I added in. Going to remove the other pull request. @mrocklin @cpcloud 
I remember why now. It's something to do with how numpy sets up arrays that don't have dtypes. 

With `y` it makes everything a string and assigns everything with `dtype='|S21'`. It also converts the tuple-in-list to list-in-list, although im not sure what that means.

`In [54]: y = np.array([(1, 'Alice', 100),
              (2, 'Bob', -200),
              (3, 'Charlie', 300),
              (4, 'Denis', 400),
              (5, 'Edith', -500)])

In [55]: y
Out[55]: 
array([['1', 'Alice', '100'],
       ['2', 'Bob', '-200'],
       ['3', 'Charlie', '300'],
       ['4', 'Denis', '400'],
       ['5', 'Edith', '-500']], 
      dtype='|S21')`

With x it constructs it in a different way, since it has a dtype:

`In [57]: x = np.array([(1, 'Alice', 100),
              (2, 'Bob', -200),
              (3, 'Charlie', 300),
              (4, 'Denis', 400),
              (5, 'Edith', -500)],
            dtype=[('id', 'i8'), ('name', 'S7'), ('amount', 'i8')])

In [58]: x
Out[58]: 
array([(1, 'Alice', 100), (2, 'Bob', -200), (3, 'Charlie', 300),
       (4, 'Denis', 400), (5, 'Edith', -500)], 
      dtype=[('id', '<i8'), ('name', 'S7'), ('amount', '<i8')])`

Ints stay ints, strings stay strings. So they are two very different things, and I had to iterate through them in order to compare them. I could only compare the names because those were the only things that they shared.