nestTables and rowsAsArray options for query() and execute()

#94 #39

- query() and execute() now can accept options other than query text
- added nestTables and rowsAsArray options

there are lots of code duplication between code generators (text/binary protocol), next step would be to refactor them.

@mscdex - could you review this pr?

cc @ForbesLindesay - I'll try to port it back to node-mysql. Is that what you asked here https://github.com/felixge/node-mysql/issues/658 ?