Fix gesture detection

This commit addresses 2 issues:

1) Before, a general GestureDetector was registered on the highest level in K9Activity
   This resulted in EVERY inherited activity to have a useless, unused gesture detector.
   But more than that, in MessageList, a second GestureDetector was assigned to the ListView.
   On every fling gesture, both detectors called the onSwipe() methods,
   which technically did the following:
   - The one directly assigned to the ListView would work corectly by mapping the
     (local) event coordinates to the right entry in the ListView
   - The global one worked on screen coordinates, so the onSwipe() method would
     likely select the wrong ListView entry (system menu bar offset).
   - For some reason this "worked" fine, and only the correct entry was selected,
     despite two detectors used.

2) The gesture detection for the MessageView caused problems when the message
   itself was scrollable, i.e. wide HTML mails. A fling gesture inside the WebView
   would scroll the message, but also switch the message.

This commit fixes all those by doing the following:
- Don't register the GestureDetector in K9Activity, instead make the member variable
  accessible by subclasses.
- In the subclasses that need a detector register it
- In K9Activity.dispatchTouchEvent() check for mGestureDetector being null
- For MessageList:
  * Remove the duplicate gesture detector assigned to the ListView
  * in the handleSwipe() methods: calclulate pixel offset of the ListView to make
    it work using the global screen coordinates
- For MessageView: Limit sensitive area to the message header, to prevent interference
  with the WebView scrolling
- Respect current behavior:
  * Force-enable gestures for the MessageList
  * Respect user setting in MessageView
- Make sure that after a successful swipe gesture, any pending action is cancelled, to
  prevent unwanted things to happen (such as expanding the header after changing
  the message, or a context menu popping up in the MessageList).
  See http://code.google.com/p/android/issues/detail?id=8497
Use bezel swipe gestures to move to next/prev message in MessageView
Use Notification.Builder on Honeycomb+ devices

Using the new helper class we can easily add support for some of the
new notification features later.
updated Yahoo! Mail Variants
Merge remote branch 'upstream/master'
Support ACTION_SEND extras when handling ACTION_SENDTO

Too many applications get this wrong and rely on the undocumented
behavior of the AOSP Email app and Gmail.

See https://code.google.com/p/android/issues/detail?id=30190
Make sure we always have an account name when importing settings

This avoids a NullPointerException in the dialog that allows selecting
which accounts to import.
fixed commit ed4c74983eb5aa1b8f5fd729a32504a69441efa2 due to crashing on 2.1 devices
Bumped manifest to 4.117
Don't use the NotificationBuilder as singleton
Yahoo! IMAP seems to no longer require 'ID ("GUID" "1")' over non-3G.
see http://mobile.yahoo.com/mail for IMAP setup instructions.
updated year in copyright.
use the new way on internal storage, or the original way otherwise
Avoid NullPointerException in the gesture detection code
Hebrew translation from elyashiv sabach - אלישיב סבח
We hugely appreciate the work of all K-9 contributors, but as a general
practice don't name individual contributors in the UI. I'd love a
generalized "cast of characters" "Thanks" page in the UI, though
Remove strings which aren't typically translated from the hebrew translation
Hebrew's android localization is -iw. Though we may have problems on the
Galaxy S II which uses "he"..at least according to stackoverflow
Whitespace cleanup; no functional changes.
Save sort type and sort order for search views (e.g. Unified Inbox)