Fix anyX() methods to not match nulls

This fixes #134. To be specific:

`anyX()` - matches all instances of X (Integer, String, List), but not nulls.
`anyList(X.class)`, `anySet(X.class)`, etc - matches all list/set/map instances, ignoring the X parameter entirely (just used to fix generic type hassle). Doesn't match null.
`any()`, `anyObject()` - matches anything, including null.
`any(X.class)` - matches anything, including null, but with a more convenient return type.

We might want to take this further and deprecate some of these, or make the suggested API slightly clearer, but this is a good start.

Since this is definitely not backward compatible, I've now bumped to 2.0.0-beta!