Feature/citation group metadata

Some refactoring and renaming
Added index and not nullable to fields where appropriate as well as matching model validations
   (We need to evaluate if this is going to be too much performance wise)
Added citation group metadata parsing