Temp table support for v0.6

To address my original issue: https://github.com/diogob/postgres-copy/issues/18

Adds the ability to upsert using a :through_table option.  I'll be happy to port this to the master branch if anyone is interested.  Added to the readme:

pg_copy_from also supports 'upserting' data using the :through_table option.  Since the Postgres copy command does not handle updating existing records, the postgres-copy gem accomplishes update and insert using an intermediary temp table:
 
 ```ruby
 User.copy_from "/tmp/users.csv", :through_table => "users_temp"
 ```
 
 This command will process the data in 5 steps:
 * create a temp table called "users_temp".  In postgres this temp table is only visible to the current database session
 * COPY the data to user_temp
 * insert all records from users_temp into users, as long as the primary key is not already in users.
 * update all records in users with the data in users_temp, matching on primary key
 * drop the temp table.