DATAMONGO-866 Add new field naming strategy and make it configurable through XML/Java config

My company needs to insert records into Mongo from a Java app and read from a node.js app. In keeping with our existing data models in Mongo we'd like to keep field names in lower case with underscores/snake_case. I've added XML and Java config attributes for FieldNamingStrategy and created the class LowerCaseWithUnderscoresFieldNamingStrategy. I'll be happy to make any changes you see fit.

Thanks!