Support different case URI variable names using Guava CaseFormat

CaseFormat from Guava is able to interconvert between a number of different case conventions. This pull request adds support for this to generate URI constant names, and the equivalent resource bundle key names based on the users desired constant case.

This is not perfect, in particular, it doesn't nicely handle acronyms inside of otherwise CamelCased variable names. However, it is disabled by default so it shouldn't affect anyone if they are relying on the current, almost verbatim, method of key generation.

It enables me to generate classes that are much easier to hand edit to get to the desired form for vocabularies in the org.openrdf.model.vocabulary namespace compared to the previous method.