[BUGFIX] Reliably determine extension key for models

The code is inspired by ClassNamingUtility::explodeObjectControllerName
and fixes a few shortcomings
• Vendor name can be any camelcased string with one segment
• TYPO3\CMS ist a valid vendor name with an exception to the rule
• Legacy classnames (Tx_<ExtensionName>_Domain_Model_Teaser) are valid

Change-Id: I42e200e90443501d70dc61c94e6afbf6280e45ac
Resolves: #60568
Reviewed-on: http://review.typo3.org/31871
Reviewed-by: Tim Lochmüller <tim@fruit-lab.de>
Tested-by: Tim Lochmüller <tim@fruit-lab.de>