Introduces multiple splits per transaction

Since transactions are at the core of this app, this commit touches almost all subsystems and is therefore huge.
Transactions are now composed of multiple splits, which belong to different accounts and are no longer bound to accounts,
nor is the money amount bound to the transaction itself.
Transaction serve just as aggregators for splits which contain the amount and the account to which it belongs.
Splits store the amounts as absolute values and then separately the kind - CREDIT/DEBIT - of the split.

* Introduced a new Split editor for the creation and editing of splits
* Migrate the old database format to the new format with a separate table for splits.
* Updated processes for moving, creating, exporting, deleting transactions to work with splits
* Updated computation of account and transaction balances to be in line with accounting principles (now for real, not the fiasco that was v1.3.2) ;)
* Use account specific labels for CREDIT/DEBIT instead of just generic "debit" and "credit"
* Updated color (red/green) display to match movement in the account, and not a representation of the side of the split
* Introduced new format for sending Transactions through Intents (while maintaining backwards compatibility)
* (Experimental): Import complete GnuCash XML files (accounts and transactions only)
* Back up transactions in an XML format (similar to GnuCash XML) called .gnca (Gnucash Android)
* Extensive code refactoring for
 - Better modularity of transaction exports (and ease introduction of new formats),
   - Cleaner database schema and reduction of overlap and redundancies
 - Easier database migrations during future update (with reduced risk of data loss)
* Bumped version numbers to version 1.4.0-SNAPSHOT

A few more commits need to go in before this baby is ready for beta.
TODO: This commit completely breaks transaction tests.
Fixed: Database migration fails if non-double-entry transactions exist
Fixed: Updated "transaction sum" label to "balance"
Feature: Backup db before any major deletion operations
Feature: Added UI option for restoring last backup
Fixed: Cloning transactions copies the exported flag
Fixed: display notification if no backup file is found
Added indexes on UID database columns
Updated What's new dialog text
Updated changelog for version 1.4.0
Feature: Save opening balances as transactions in the "Equity -> Opening Balances" account.
Feature: Added setting for saving opening balances before deleting transactions
Fixed: Accounts now exported hierarchically so that they can be imported properly
Fixed: Display the actual number of currencies during export
Code refactoring for less memory use during export
Updated string translations and app version to 1.4.0-beta2

- Updated name of Cuban convertible peso currency name
- Updated change log to include opening balances feature
- Updated strings to generalize the account format (now multiple are supported, not just OFX)
- Fixed: Generation of opening balance account for german locale has no parent Equity account
Fixed: Crash when deleting transactions with splits
Fixed: Splits editor shows wrong transaction type when editing splits
Squashes bugs from Android crash logs

- Fixed bug causing crash on start for some locales where device locale has no supported currency
- Fixed app crash post-import/export operations
- Updated Contributions section of README
New Spanish translated strings.
Update strings.xml

Update strings (norwegian bokmål)
Merge pull request #173 from jorgeml/develop

New Spanish translated strings.
Merge pull request #174 from ktpx/patch-4

Update Norwegian bokmål translation
Prepare for v1.4.0-beta3 release

Fixed: Crash when upgrading database due to invalid SQL query (for the old db version)
Fixed: Future transactions not imported
Show dialog during database upgrade operations
Show richer exception message as toast when importing or exporting
Fixed: Transaction notes neither imported nor exported

Refactored transactions - "name" becomes "description", and "description" becomes "notes", to match GnuCash XML nomenclature
Update french translation
Update version strings for 1.4.0-beta4 release

Code refactoring
Merge pull request #176 from Wicowyn/patch-2

Update french translation
Updated Russian translation
Merge pull request #177 from agalanin/patch-5

Updated Russian translation
Preserve default transfer accounts during upgrade database migration

- Improved: Mark opening balances as exported transactions
- Fixed: Editing transactions loaded from templates only partially modifies splits
- Fixed: Transaction templates do not use current date when loaded
- Update version strings for v1.4.0-beta5 release