Fix support for unnamed statements

This commit fixes a bug in egpsql's handling of unnamed prepared
statements. Prior to this fix epgsql would generate a name for
unnamed SQL statement sent to the DB server w/PARSE messages. This
caused the server to persist the statements until they were
explicitly deallocated. Deallocating the statements was impossible
because the generated name was never exposed over the public API.

The fix is to stop generating names and allow the caller to specify
a name when named statement semantics are desired. Doing so fixes
name collisions when parsing the same statement twice on the same
connection. It also more closely follows PG's statement semantics.
Merge branch 'unnamed_statements' of https://github.com/kevsmith/epgsql into devel
Fix call to parse with no statement name, fiddled with dialyzer specs.
Updated to indicate unnamed statements.