[enh] Move the begin/end fields on M2M tables to an abstract model

Add some helper methods on this abstract model and create a custom
manager/QuerySet with methods for common filter operations
[fix] Fix update_meps command to save begin/end fields on groups
[enh] New getters on MEP model, integrating with TimePeriod manager

Until now, we had many getter property like:

    MEP.current_organizations
    MEP.old_organizations
    etc...

This lead to duplicate code. We fix this by using newly introduced
TimePeriod manager and queryset classes.
The old methods are now replaced with simple getters:

    MEP.get_organizations

(The get_ prefix is added to avoid overwriting the original field..)
We can use them with the manager helper methods like this:

    MEP.get_organizations.only_current()
    MEP.get_organizations.only_old()

This also work with the historical infos recently reintroduced in
Parltrack which sets a 9999-12-31 enddate on current mandates/groups...
[enh] Update MEP templates to use the new getter methods

Also make some changes to display the MEP's historical infos which was
reintroduced recently in Parltack.
[fix] Fix typo in the trends view
[fix] On the "MEP that voted for" list, show the good group. fixes #274

A MEP who has been elected for more than one legislature can change
group, local party, or even country, but when details of a previous
legislature vote were displayed, the MEP data which was shown was the
current ones.

This commit fixes this and prints the MEP's data at the date of the
vote.