Add support for java 8 character classes

Added plumbing code for feature detection, used it to add \R \V \H \h,
and the changes to \v.

This means we'll have to start testing on both java 7 and java 8.

Thanks to (@miner)[https://github.com/miner] for doing most of the work
of supporting the Java 8 features.