Add __numpy_ufunc__, adjust tests, remove numpy-dev bugs (closes #2483, #2492)

Add numpy 1.9.0b1 to travis tests
Get Angles to work as well: __numpy_ufunc__ for Latitude, Longitude
Hack for earth.py to work around segfault due to numpy bug with recarrays
Add _check_unit and _check_can_cast to reduce code duplication
Resolve bug from rebase
Take proper views of inputs, remove recarray check for >1.9 pending numpy:#4855
Rebase and change test to numpy < 1.10, since __numpy_ufunc__ is not in 1.9