Adjust transport property type declaration and reset value.
Throw exception on invalid types passed to  `transport()`.
This also avoids notices and warnings because of the `$transport`
variable not being defined in case of an unhandled type.
Merge pull request #4893 from ndm2/3.0-email-transport-fixes

3.0 Some small Email fixes