Added PK ordering on SQL dumping

Hi, this pull request intends to add PK ordering to the SQL creation.

It works for all 3 engines supported.

What it does:

Always create Primary Keys as the first fields in the SQL.
When it's a compound PK, besides putting them first, it also orders it alphabetically.

Added tests for all 3 engines.