ENH: Better error message on object dtype

Alternatively, we could just try to cast to float but since we're not systematically handling dtypes I preferred to just fail early and let the user know to check their data.

Closes #880. Should also close #1875. 

Can look at fixing #1210 in this PR too.