Added support for DESC and NULLS FIRST/LAST to index keys

Fixes issue #3
Function get_index_keys() renamed to get_order_by()

It was a FIXME item in the source. Reasonably so.
Added support for COLLATE to index keys
Added pg_repack runs to check the get_order_by definitions work
First pass at implementing concurrent index builds using multiple connections.

Adds a new --jobs command-line argument to specify how many worker
connections you want. These worker connections should stick around
while processing table(s) in a single database. For each table,
parcel out the indexes to be built among these worker conns,
submitting each CREATE INDEX ... request using PQsendQuery() i.e.
in non-blocking fashion.

Most of this is still rather crude, in particular the
while (num_active_workers) ... loop in rebuild_indexes(), but
it seems to be working, so I'm committing here.
Small fixes related to the concurrent_indexes changes.
Move PQsetnonblocking() call to setup_workers(), and make
sure we're not forgetting any workers.
Several fixes for concurrent index builds:
 * Use poll() if it is available, or select() otherwise, to
   efficiently wait on index builds in worker queries to finish.
 * fix off-by-one error when initially assigning workers
 * move PQsetnonblocking() calls to setup_workers()
restore the warning message about invalid indexes, to match old behavior and pass installcheck.
Add description of --jobs to the docs. Also, add missing newline in --help output.
Fix up buggy initialization code for poll() and select().
Also some logging and variable name cleanup.
First pass at implementing concurrent index builds using multiple connections.

Adds a new --jobs command-line argument to specify how many worker
connections you want. These worker connections should stick around
while processing table(s) in a single database. For each table,
parcel out the indexes to be built among these worker conns,
submitting each CREATE INDEX ... request using PQsendQuery() i.e.
in non-blocking fashion.

Most of this is still rather crude, in particular the
while (num_active_workers) ... loop in rebuild_indexes(), but
it seems to be working, so I'm committing here.
Small fixes related to the concurrent_indexes changes.
Move PQsetnonblocking() call to setup_workers(), and make
sure we're not forgetting any workers.
Several fixes for concurrent index builds:
 * Use poll() if it is available, or select() otherwise, to
   efficiently wait on index builds in worker queries to finish.
 * fix off-by-one error when initially assigning workers
 * move PQsetnonblocking() calls to setup_workers()
restore the warning message about invalid indexes, to match old behavior and pass installcheck.
Add description of --jobs to the docs. Also, add missing newline in --help output.
Fix up buggy initialization code for poll() and select().
Also some logging and variable name cleanup.
Merge branch 'concurrent_indexes' of github.com:schmiddy/pg_repack into concurrent_indexes
Merge branch 'master' into concurrent_indexes.

Conflicts:
	bin/pg_repack.c
comment typofix.
Dropped bogus check and unused parameters allocation