Allow readFile() in CakeEmail to be accessed publicly

I needed this method while building a Transport, and saw no reason why it needed to be protected.
Create method readAndBase64Encode() in File utility.

Move this utility method out of CakeEmail, which allows other Mail transports to encode files manually. Maintains BC.
Make readBase64 an instance method

Leverage the existing code in File::read() and simply add in chunking and base64 encoding.
CS fixes
Merge pull request #1285 from dereuromark/master-cs-fixes

CS fixes
code is not translatable and should not be part of the translation strings
Add to docblock the reason why the output is chunk_split
Update link url to revised method name
Merge pull request #1287 from dereuromark/master-translation-strings

code is not translatable and should not be part of translation strings
Merge pull request #1286 from kunit/master

CakeEmail::_wrap does not operate correctly by the character string of specific Japanese.
Fix empty response bodies when redirect URL's are empty.

When redirecting XHR requests to an empty URL the response body should
not be overwritten.

Fixes #3835
Change variable name to be descriptive
Fix incorrect exception type when double slash paths are used.

Fixes #3838
Remove readBase64() from File utility, since it is not commonly used.
Merge pull request #1284 from jmillerdesign/public-cakeemail-readfile

Utilize File utility to base64 encode email attachments
Processing was simplified when a length of one line was smaller than CakeEmail::LINE_LENGTH_MUST
Tidy up variable names.

Variables with _ in them are confusing, try to use clearer names.
Add mocked components to the enable list of components.

Mocked components should be enabled so they receive callbacks. This
allows more realistic integration tests using testAction(). Stop
disabling the constructor as it causes a number of errors with
components that use components.

Fixes #3842
Merge pull request #1293 from kunit/2.3-cakeemail-wrap

Processing was simplified when a length of one line was smaller than CakeEmail::LINE_LENGTH_MUST