SMW\ApiAsk + SMW\ApiAskArgs fix bug 51091, add unit tests, and improve code coverage

* Move parameter formatting into separate ApiRequestParameterFormatter class

\SMW\ApiRequestParameterFormatter
Code coverage: 100%
CRAP: 18

\SMW\ApiQuery
Code coverage: 100%
CRAP: 5

\SMW\ApiInfo
Code coverage: 100%
CRP: 19

\SMW\ApiAsk
Code coverge: 100%
CRAP: 6

\SMW\ApiAskArgs
Code coverage: 100%
CRAP: 6

Bug: 51091 (should be fixed now)

Unit tests discovered an issue in ApiAskArgs, where when only conditions are
set the Api broke with Argument 2 passed to SMWQueryProcessor::addThisPrintout() must be of the
type array, null given,

Change-Id: I7fba4991d242ce30f679b8a2c3b8033867db127f
Merge "SMW\ApiAsk + SMW\ApiAskArgs fix bug 51091, add unit tests, and improve code coverage"