Data views: add tag, project and stack indices to template context

These indices allow a much faster access to tag, project and stack data. All the
required logic can be done based on them which would reduce the number of data
base requests tremendously--at least if there are many projects, tags or stacks.
Their creation doesn't take much time.
Add basic Django template filters for working with sets, lists and dicts
Add two Django template tags to work with new indices

These two tags can use the indices to test if a project should be
highlighted and to convert a list project IDs to project objects.
Django templates: make stack selection tag work with lists

This commit lets the stack selection tag work with lists as well instead
of query sets only. It now doesn't order the stacks anymore by ID, but
expects them to be in the desired order already.
Data views: let the tag table data view use tag, stack and project indices

This commit improves the performance of this tag data view considerably.
It now doesn't do a single request for neither every stack collection of
all project nor their tags. All this information can be pulled from the
indices. Especially for setups with many stacks, projects and tags this
will improve performance a lot.
Merge pull request #632 from acardona/dataview-performance-improvements

Dataview performance improvements