Replace ApiTestCase with PHPUnit_Framework_TestCase

- Move to `SMW\MediaWiki\Api` NS
- Replace `ApiTestCase` with `PHPUnit_Framework_TestCase` and remove ` ApiTestCase`
- Access to MediaWiki's `Api` during test is enabled through `SMW\Tests\Util\MwApiFactory`
- Add `SMW\Application` for external and internal instance access
- Add `SMW\MediaWiki\Jobs\JobFactory` which is accessible via `SMW\Application::getInstance()->newJobFactory()` to avoid having third-party developers wire up SMW internal objects directly.
- `SMW\Application` is introduced with this PR to gain access to the `SerializerFactory` & `Wikipage:Factory` object while allowing to mock those objects during the test.

```php
Application::getInstance()->getStore()
Application::getInstance()->newSerializerFactory()
Application::getInstance()->newWikiPage()
Application::getInstance()->newJobFactory()
```
OK, I understand this but how do I inject a mock when the instance not injected?

I need to mock the wiki page factory (as it requires revision and DB access which I don't need here). If I directly access `Application::getInstance()->newWikiPage()` of course I gain access to the object but I'm not able to mock the instance on the other hand if I inject a `Application` instance I'm able to return a mock when doing `$this->getInstance()->newWikiPage( ... )`