Added taxonomy term field to files #4502

I can include files as a content type for each vocab in cp/build/taxonomy and I can tag files in their edit tab.  Not seeing taxonomies in sv list yet.  My guess is that whatever code is loading the taxonomies for hte list is node specific.
Added term select to list of files.  #4502

This wasn't too bad so far.  I had to update the helper function that got attached vocabs to use an entity type instead of being hardcoded to node.  I also had to tell each plugin what the entity type was so the helper funciton could be called correctly.  Instead of defining this in each of their __construct's, I had them extend a parent class that set the var.  Then I went back and made each file extend it.  Not really a shortcut after all, but I think this will be useful long term and it gives me a single point of entry for documenting all the various hook methods I've created.
LOF filters by term #4502

Changed all the node specific options in the tagged node filter target entities instead.

The only real change is that the taxonomy_index table only handles tagged nodes.  I switched to og's field_data_og_vocabulary instead to get to tagged files.  There's no functional difference, but this table is a bit bigger.

Still need to test how it works with multiple vocabs.  I simplified the code a little in this case so I'm not 100% sure it's doing the same thing yet.
Fixed LOF for multiple vocabs #4502

SV lists with multiple vocabs selected were showing items matching any term.  The correct behavior is to match any term from each and every vocab.
Merge pull request #4504 from openscholar/4502-LOF

4502 lof