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.
feat #1316 New options in aria.templates.ModuleCtrl.submitJsonRequest

Adds the ability to specify a timeout and headers when calling the
submitJsonRequest method of a module controller.

close #1316

(cherry picked from commit b7e3c1bc01e4157394a475ef446b06eadbf88c91)

Note that, unlike the original commit, this cherry-picked commit for the
1.4.17 branch does not include the async option.