Support for naming strategies (snake_case)

Implementation for #393
Should this be the default bean? Plus its not a component, so it snot clear how is this being used @ runtime?