Split message code into Local/Remote

The remote network code does not need to be aware of concepts like
Accounts etc.
Avoid cast
Naming
Move SSL code into package
Remove Preferences dependency
Move things into local
Local messages
Break dependencies
Move local message code to local package

 + cut some helper dependencies
Fix LocalMessage equality/hash
Naming
Fix test location
Removed useless line
Remove K9FragmentActivity

Because it's same with K9Activity now, no need to keep it.

Test Plan:
./gradlew installDebug, and test the MessageList activity
Merge pull request #518 from frankdu/clean-up

Remove K9FragmentActivity
Merge pull request #517 from pylerSM/patch-1

Removed useless line
getUuid() -> getAccountUuid()
local -> mailstore
Remove URLEncodingHelper dependency
Tidy responsibilities