HashCode/Equals issues.

- HashCode and equals should be in pairs
- HashCode and equals should be present when compareTo is.
Replaced single char strings with char constants

Though minor, this can improve performance.
- Named threads

http://stackoverflow.com/questions/15535060/impact-of-thread-without-name-in-java
Added basic logging to exceptions

- Also what is it with all the catch(Exception e) clauses? We're not playing
	Pokémon right? :)
Minor unneccessary stuff removed
More Exception stuff
More exceptions... When you catch them, make sure you log them :)
Final bit of Exceptions (for now)
Use instanceof

This allows you to also handle children in your equals methods ;)
Removed useless casts and one strange boolean thing
String concat in a loop is very slow. StringBuilder is not :)
Formatting
Merge branch 'develop' of github.com:syncany/syncany into cleanup/codeRefactoring

Conflicts:
	syncany-lib/src/main/java/org/syncany/config/UserConfig.java
	syncany-lib/src/main/java/org/syncany/database/dao/ApplicationSqlDao.java
	syncany-lib/src/main/java/org/syncany/operations/down/DatabaseBranch.java
	syncany-lib/src/main/java/org/syncany/operations/init/ConnectOperation.java
	syncany-lib/src/main/java/org/syncany/operations/watch/WatchOperation.java
You should use interfaces as much as possible

This allows you to change the internal representation of data without interfaces
requiring changes. Unfortunately it seems that the XML annotation you use might
not take kindly to processing Lists instead of ArrayLists.. Perhaps it would be
worth to investigate it though.
Refactored to while-loops into for-loops.

This means that the iterators requried for the loops can be initialized inside
the loop and thus are scoped only inside the loop. Reducing the scopes of your
variables to just the place where they are needed, reduces the complexity and
increases the readability outside the loop.
Throw new Error() should always be avoided
Singletons should use private constructors
Merge branch 'develop' of github.com:syncany/syncany into cleanup/codeRefactoring

Conflicts:
	syncany-lib/src/main/java/org/syncany/operations/daemon/WatchServer.java
	syncany-lib/src/main/java/org/syncany/operations/daemon/handlers/InternalWebSocketHandler.java
	syncany-lib/src/main/java/org/syncany/operations/down/actions/FileSystemAction.java
	syncany-lib/src/main/java/org/syncany/operations/init/ConnectOperation.java
	syncany-lib/src/main/java/org/syncany/plugins/transfer/RemoteTransaction.java
Mistake in the all important `toString()` fixed
This is back