ENH/CLN: give all AssertionErrors and nose.SkipTest raises an informative message

continuation of #3519 because of a branch rename.

### UPDATE: The exception parsing script has been moved to [a Gist](https://gist.github.com/cpcloud/6745173)
 
This PR partially addresses #3024. 

- all `AssertionError` exceptions now have an informative error message in them
- some `AssertionErrors` have been converted to different `Exception` subclasses, where it makes sense, and there's a corresponding test wherever these were changed.
- all `nose.SkipTest` exceptions now have an informative message