fix #1052 headers were declared as Object in bean

`headers` entry in request beans was declared as Object and not Map, which
meant that JsonValidator would fail when validating any non-empty
`headers` taking the RequestBeans cfg.

For consistency, `headers` are changed to `json:Map` in both related
places in CfgBeans and RequestBeans.
POST requests headers transmitted when using XDR
feat #1044 add aria.core.IO.postHeaders

This commit adds `aria.core.IO.postHeaders` array in order to add more
flexibility to the users and facilitate code simplification in 1.6.1.

It also properly deprecates certain features intially deprecated in 1.2.6
and 1.3.1 by improving documentation and adding deprecation warnings.

The code has been also slightly refactored to facilitate removal of
deprecated items in 1.6.1.

---

To sum up the situation, the following config options are deprecated:

In aria.core.IO:
- `useXHRHeader` and `defaultXHRHeader` (use `headers` and `postHeaders`)
- `defaultPostHeader`, `useDefaultPostHeader`, `defaultContentTypeHeader`,
   `useDefaultContentTypeHeader` (use `headers` and `postHeaders`)

In aria.modules.RequestBeans:RequestObject:
- `postHeader` (use `headers`)

In aria.core.CfgBeans:IOAsyncRequestCfg:
- `postHeader`, `contentTypeHeader` (use `headers`)

Close #1044.