Don't set empty body on external curl requests [Fixes #4791]

When the CURLOPT_POSTFIELDS option is present, curl adds a
default Content-Type header which can be changed but not
removed, causing authentication problems with signed requests.

The option should only be set if a request body is being sent.
#4201 - Issue with validation labels
Fixed the typo with additional braclet
Merge pull request #426 from JackEllis/bugfix-4201

#4201 - Issue with validation labels
#4482 - Array to string conversion in deep Arr::merge

When using Arr::merge to merge arrays, the deeper array merges failed
and caused a ErrorException [ Notice ]: Array to string conversion

See: http://dev.kohanaframework.org/issues/4482
Added strict in in_array

Added extra entry to array in test and changed in_array to strict.
Performance:
Non Strinct: http://i.imgur.com/JiRtUxQ.png
Strict: http://i.imgur.com/nRmgHVS.png
Merge pull request #428 from JackEllis/bugfix-4482

#4482 - Array to string conversion in deep Arr::merge
the third parameter is the one you are matching, not the second
refs (#4432)
refs #3896 - fix unit tests for proper matches validation
refs #4287 - fix memory leak in validation class
Merge pull request #403 from acoulton/3.2/bug/4791-curl-sets-content-type-on-request

Don't set empty body on external curl requests [Fixes #4791]