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.