Add clone methods to output classes, which create clones using the copy constructors.
Fix tests for 196cfc8.

That commit started ignoring things tagged with landuse but
without a name, which changed the number of imported places. This
commit updates the tests to match.
Add test for pgsql output.

This includes cloning the output, and turned up a couple of bugs
with initialising `table_t` as a copy.
Merge remote-tracking branch 'origin/kk_threadpend' into jh_threadpend
Merge remote-tracking branch 'zerebubuth/landuse_test_fix' into jh_threadpend
Merge pull request #8 from MapQuest/mla_threadpend_tests

Add test for pgsql output.
Merge remote-tracking branch 'origin/jh_threadpend' into jh_threadpend
Merge remote-tracking branch 'origin/mla_threadpend' into jh_threadpend

Conflicts:
	.gitignore
Merge remote-tracking branch 'origin/kk_threadpend' into jh_threadpend
Combine base classes way_cb_func and rel_cb_func into single base class cb_func. Move thread handling out of middle_t into osmtypes.cpp.
Threaded pending process work in progress.
Merge expires on stop in multi and pgsql outputs.
Use cloned middle in cloned outputs.
Need to include std set in test-expire-tiles.
Populate pending job queue prior to cloning out the middles and outputs.

Some other bug fixes and refactor.
Most tests pass now, but three still fail.
change around output map to be a vector with the index in the vector being the id of the output so the threads can simply index into their vector of outputs
remove some of the native pointers and finish up moving pending rels from threads back to main outputs
refactored a bunch of native pointers to smart ones. tests still failing for relations need to check old branch to see exepcted pending counts
remove pending tracking from the ram middle processing as now the middle has all ways nodes relations in it
make clone test pass