Added type hinting
Fix failing tests caused by previous commit
Deprecate features in SecurityComponent

These features are available in CakeRequest now. The CakeRequest
version is improved as it raises more appropriate exceptions.
Update docs for SecurityComponent::requireAuth()
Use constants instead of strings.

Using built-in constants where possible is generally a good idea,
making code less error prone.
Use random iv values in rijndael.

Using fixed iv values has a number of known problems like dictionary
attacks against the cipher key. Use a random iv value for all future
encrpyted values. Provide backwards compatibility for values encrypted
with fixed iv's, and silently upgrade values for enhanced security.