Special treatment for Oracle

The generated sql statements for oracle (especially trigger statements) need some additional love to be executed consecutive in a script.

@butonic @LukasReschke @icewind1991 please review - THX
tl;dr: does not respect oracle max identifier length of 30 chars 

@DeepDiver1975 so ... `$this->random->generate(13)` or Lukas version adds 13 bytes to `'oc_' . $name . '_'` name, right? $name is the table name ... now looking into my test database I see:
```
oc_documents_revisions = 19 characters without 'oc_'
oc_ldap_group_members = 18 chars
oc_pictures_images_cache = 21 chars
oc_vcategory_to_object = 19 chars
... and others
```

Tat leads to table names with 3 + tablename + 1 + 13 random chars = 17 + tablename

given that oracle max identifier length = 30 we can deduce 30 - 17 = 13 max table name length ...

but we already have table names with 21 chars .... so ... on oracle truncate the table name after 30 chars ... or throw an exception when the temporary table name exceeds 39 chars (to ensure that after truncating 4 random chars are still at the end of the table)

now I am only the messenger ... clobber oracle if you must ...