Fix bug #152: NpgsqlInterval different constructors different ToString

Take the days from the Timespan, then the remaining ticks.
NpgsqlInterval(long) now calls NpgsqlInterval(TimeSpan) to make TimeSpan
do the division work.
Largely inspired by commit fd99912a019a3e987edfba8511431c82ec3cd9a5 from
glenebob
Add a test for IEnumerable<int> as a parameter. refs #222
Always use Curly braces here (matches the WriteArray method), fixes #222
Add test
Fix concurrent NpgsqlCopyIn usage.

Npgsql was using a singleton NpgsqlCopyIn but it couldn't be a singleton because there was state being exposed.
This state is the CopyFormat object which is different depending in the structure of the table being copied.
By using the same NpgsqlCopyIn object for all operations, when using two different NpgsqlCopyIn operations, they would interfere in each other causing problems.

Thanks Chupa Kabra (http://pgfoundry.org/users/chupakabra/) for test code.
Thanks  Marcin Glowacki (http://pgfoundry.org/users/serine/) for the patch.
Thanks  Jelmer Baas for testing the patch.
added fix for TruncateTime method of EF
added test case for DbFunctions.TruncateTime fix
Fix table creation sql syntax for Postgresql 8.4 and 9.0.
Update Npgsql master branch version to 2.2.
[EFMigrations] Always creating type 'text' instead of 'varchar(MaxLength)'
Fix #177. Add proper quoting to xml datatype.
Fix TestDefaultTypes test after merge of #211

Pull request #211 changed the NpgsqlInterval toString() output.
Major rewrite of relational expressions and how property references are handled. Also added support for DbInExpression.
Added some tests for EF

A passing test only means it doesn't crash, not that it actually creates a correct SQL query.
Use the Text Output tab in NUnit to see the generated SQL queries, and verify that they are correct.
Removed unneeded constraint