Rework the handling of fixtures in tests - fix PostgreSQL support

Fixtures in the test have gone wild for awhile. Now it's gotten a bit messy: testcases building their own fixtures, or only half of it, random test string running around. Also, a lot of tests rely on the value of the public key, which breaks on PostgreSQL. Not to mention the sequence tests on unsorted querysets.

This patch fixes it all :-)
- models for the test project got some sorting and commenting so we know what they are for.
- data for fixtures is now cleanly organized, using `namedtuple`s for better readability.
- fixtures were made generic and parameterizable. No more `SingeTranslatedNormalWithOnStandardMixin`. Rather, a testcase includes `NormalFixture` and `StandardFixture` and sets a `normal_count` and `standard_count` attribute to configure them.
- fixture ids are now available directly on the testcase, in `self.normal_id`, `self.standard_id` and so on dictionnaries. No more (wrong) guessing at the id assigned by the db.
- all tests are updated according to the above changes.
- a large part of the tests that built their own fixtures now use the common ones.
- tests that were testing unordered querysets now count the occurences of each item instead of comparing for equality and relying on default database ordering (which is not guaranteed). _In case someone is interested, I busted them by patching my Django copy to reverse unordered querysets before returning them._

As a result, the whole testsuite is much more solid now. I also added PostgresSQL to travis CI.