New media sync protocol and updates to media handling

The main features of this commit:
1 - Port of the new media sync protocol (released in Anki 2.0.27)
2 - Cleanup and update of Media.java to match Anki 2.0.27

Things to note about this commit:
- Tests for the Media class have been ported over.
- A new media database format has been added with the extension ".ad.db2". The .ad prefix is specific to AnkiDroid to prevent issues caused by copying the file to the desktop or vice versa. If an old media database is found, it will be converted to the new format (and if it fails for some reason, it creates a new empty database).
- File names are now normalized in NFC form before being added to the database and/or synced (previously used NFD, which is not the format used by Anki)
- Media-related regular expressions have been fixed and the group indexing scheme documented (Java doesn't support the named groups that python uses)
- Previously, a clean copy of the media database was cloned from the assets folder. With this update, it is created at runtime with SQL, so the file in assets has been removed.

Known issues;
The multimedia note editor bypasses the Media manager for most of its tasks which could lead to inconsistencies in the future.
force media resync on deauth
deauthing should reset lastUsn to 0 

(https://github.com/dae/anki/commit/a5d91314459d6945568757713ef2431841299f94)
(https://github.com/dae/anki/commit/f54f5870fa94e05e96bf72210a70934ebd2b734c)
Remove custom Pair class

Was used for API 4 (Android 1.6) which is no longer supported. Use the built-in version instead.
Merge pull request #431 from hssm/remove-pair

Remove custom Pair class
Merged '26427ca' from develop: Updated translations
Skipped '87c9d54' from develop: Bumped version to 2.2beta24 @branch-specific
Merged 'c497f40' from develop: Remove tutorial card about the progress bars which were removed in this release
Merged '59b8cac' from develop: Added Latvian , 80% of core
Skipped '32b5e88' from develop: Bumped version to 2.2beta25 @branch-specific
Merged 'dcf7b50' from develop: Updated localizations
Merged '70dfa3f' from develop: Remove tutorial card about the progress bars which were removed in v2.2: also in CSV
added todays statistics in a new Fragment type with a WebView,
Small due chart changed to new chart engine,
moved ChartView in main package
updated statistic Fragment layout context
prepareDrawables is now only called once as long no additional drawables are added
put options menu relevant methods to abstract base Fragment.
fixed "web page not available" on older devices for today statistics
Merge pull request #435 from trashcutter/stats_today

Added Today statistics, removed achartengine dependence from smal due chart
Updated localizations
Bumped version to 2.2.1
@branch-specific
Blue icons