Implement a secure storage for sensitive strings

This pull request introduces `security.SecureString` which stores strings in a "secure" location in memory and protects the developer from unintentionally revealing the string by

* `var_dump()` / `var_export()`
* `toString()ing
* echo'ing
* `serialize()`ing

the object. Also, the secure string is not stored in memory in plaintext - it is encrypted; however, this is not to be considered cryptographically safe, as it's just a poor man's protection against evil access (eg. by memdump).