add ability to set HTTP body
implicitly alloc/init the headers dictionary when accessed
add `userAgent` property for to easily set the user agent header
check for valid success handler block before invoking
handle connection error
add support for query and body parameters
check for `contentType` value before overriding
refactor request serialization logic into public method
add `YYHJSONRequest` to support JSON HTTP requesta