Array text encoding

Encode text arrays using the '{"", ""}' syntax, rather than the array['', ''] syntax.
Restructure plain text backend encoder using a hash table rather than a big nested if/then construct.
Replace the dynamic hash table with a very simple static one, negating the need for hash key comparisons in lookup operations.
String and bytea encoding optimization

Expand use of the hash table to control all aspects of string and bytea quoting and escaping.
Optimize the hash function to make as few decisions as possible on current PG version.
Merge pull request #80 from glenebob/array_handling

Array text encoding

I ran the test suite against 7.3.21, and discovered that array text encoding did not work, because the array[] construct was new in 7.4. So, I re-wrote the array text value encoding code, yet again. What is that, 37 times now? Now it uses the more universal '{"", ""}' syntax. The result is that the array tests run cleanly on all final revisions back to 7.3.21.

The different quoting and escaping combinations with plain text encoding will drive a person crazy.

-Glen