[FEATURE] Add ExtensionVersion API

A new API class "ExtensionVersion" deals with a specific uploaded
version of an extension.

This class is responsible for checking sanitized versions, and serves
as entrypoint to hide the logic behind "tx_ter_extensions" (and soon "tx_ter_extensiondetails"), by also handling deletion, updating reviewstate
or uploading of new extension versions.

On top, all TYPO3_DB calls are removed from EXT:ter with this change, moving
more actual logic out of the SOAP API endpoints.

In addition, the non-SOAP-API is now using non-static calls, as all
logic is wrapped in a doUpload() method.
5 jobs for feature/ExtensionVersionAPI in 52 seconds (queued for 2 seconds)
Status Name Job ID Coverage
failed test:php #20230


passed test:typoscript #20229


passed test:unit #20231


skipped build #20232
skipped layout #20233
Name Stage Failure
test:php Test

----------- end diff -----------

Checked all files in 1.862 seconds, 14.000 MB memory used
ERROR: Job failed: exit code 8