Binary backend format

Hi Francisco,

Here's a replacement for PR 45.  It's a fork of that branch to which I have now added binary text, float, and double codecs, and some tests.

"Binary string codec?" you might be asking yourself.  Yes.  It actually does not change the way strings are encoded/decoded in extended queries, it just changes the code paths that still end up doing UT8.ToString() and UTF8.GetBytes().  However, it does enable string ARRAY binary encoding, which is important.

I also demoted the oid type to 32 bits.  Was there a specific reason it was a 64 bit integer?  I couldn't see any reason for it, since it's definitely 32 bits in PG.

-Glen