Extract an ActiveModelConcern from Spotlight::SolrDocument

ActiveModelConcern has a lot of boiler-plate to make SolrDocument work
nicely with associations and 3rd party libraries. Extract it into a
separate concern to clarify what the important Spotlight-specific bits
are.