Compound primary keys support (revisited!) 

This PR adds support for compound primary keys. It is fully backward compatible with one column primary keys tables and also works with Paris (although I recommend a deeper compatibility test).

As a side-effect, I've enhanced `where_*()` and `having_*()` methods to allow stating multiple column-names/values at once (is needed for the compound keys support).

All the changes are documented and I've also thrown in some tests (beware: I only test that SQL queries are built the right way).

I've splitted the PR into several commits, but I could squash them into one big commit if this gets merged in order to not pollute the history.

Closes https://github.com/j4mie/idiorm/pull/161