Add support for other array encoding formats

Let me know what you think of this approach, feedback is more than welcome. Could definitely use a few more unit tests as well.

One of my tests is failing and I decided to leave it in order to discuss how exactly creating query strings that include brackets ([]) or commas (,) should work. Those there characters currently get replaced when calling `cmd_stringByAddingEscapes` but don't they need to be present in the query strings that this library outputs, if one of those array serialization options is passed?