Add options to stop sync when not charging or not on wifi (fixes #15).
Start automatically on boot (closes #54).
Extracted SyncthingRunnable into seperate file.
Removed exit button (closes #6).

This has become useless, as the service would be automatically restarted
whenever a network/battery/boot intent is received.
Refactoring of config related functions/constants (moved ConfigXml).
Use Java 1.7.
Remove catch-all statement.
Use PreferenceFragments with a wrapper instead of SettingsFragments (fixes #64).
Move Activities and Fragments into seperate folders.
Use ActionBar icon instead of preference item for delete repo/node.
Added SyncthingActivity to avoid code duplication.
Use correct stream for syncthing output.
Fixed crash on restart.
Optimized imports, removed unused function, removed assert.
Changed code style to use spaces instead of tabs.

It is impossible to add a custom code style in Android Studio that is
stored in the project repository. So change style to something that's
easy to use in practice now rather than later.
Added unit tests for BroadcastReceivers.
Added various unit tests.
Lots of new unit tests, refactoring.

New tests:
RestApiTest
NodesAdapterTest
ReposAdapterTest

Refactored:
extracted PollWebGuiAvailableTask from SyncthingService
some changes in return values/calling behaviour for easier/better testing
Fixed repos not being displayed (fixes #100).
Make sure service also runs in background after first app start.

Previously, it would be stopped when exiting the activity due to no
call to `startService()`.