Fixed hash/eq for objects

I thought extern_key was unique but probably it's not. Two constraints
can have the same name and they are only distinguished by the containing
table.
Emit objects in topological sort

The algorithm is complete but the object classes will have to implement
`_diff_map()` and some will need `get_dependencies()`.
split_exprs() can deal with more complicated index expressions

Should fix #98
Merge branch 'bug-98' into deptrack
Fix oid and dependencies in sequence dump

I wonder why the base call is not used in this function.
Implement _diff_map for several other objects

These are the objects used in a big database I'm testing with.

Now the database dump function will just assume _diff_map exists,
so all the objects will have to be completed.
Don't include the column dict in all the jobs

Getting there is implied by working on the tables. The columns
don't have dependencies on themselves (the dependency is on the
table with a subobj)
Getting dependencies improved for several objects

The function result is now a set, to enforce uniqueness of the
dependency graph edges. It also make easier to manipulate the
superclass result by a subclass.