Merge pull request #201 from fefe982/dev-exporter-interface

Changed Exporter interface for better memory efficiency
QIF export refinement

Try best effort to keep splits memo. The split whose account to chosen as group account will lose its split memo. Now we try to pick one without split memo as group account.

Sort all transactions by time.
Rewrite SQL to retrieve recent accounts
Remove all descendant sccounts from parent account candidate.
Update the descendant accounts'full names after parent account is changed.
FIX importing root account name
Rewrite getExportableAccounts
FIX: new created accounts are not added to the DB
Use bulk approach to add new transactions

Prevent the exported status to be reset with the old add Transaction
Add recurrence transactions to DB
Rewrite accountsDbAdapter.markAsExported
Replaced hard-coded account name
Enforce only ROOT's parent can be null
Set spinner invisible when it is not enabled.
FIX GncXML export

Slots before the fix:
```
<slot>
    <slot:key>placeholder</slot:key>
    <slot:value type="string">false</slot:value>
    <slot:key>favorite</slot:key>
    <slot:value type="string">false</slot:value>
</slot>
```
Which should be:
```
<slot>
    <slot:key>placeholder</slot:key>
    <slot:value type="string">false</slot:value>
</slot>
<slot>
    <slot:key>favorite</slot:key>
    <slot:value type="string">false</slot:value>
</slot>
```

Don't affect import to App.
Merge pull request #205 from fefe982/dev-recent

Rewrite SQL to retrieve recent accounts
Revert "Set spinner invisible when it is not enabled."

This reverts commit 04560bb39cbca3687496384b5af87b7727cfa6bb.
Merge pull request #204 from fefe982/dev-qif-export

Sort QIF transactions by time. 
Added optimizations to keep the split memo in the export whenever possible
Merge pull request #213 from fefe982/dev-xml-export-fix

FIX slot tags in GncXML export
Merge pull request #208 from fefe982/dev-import-recurr

Add recurrence transactions to DB