changing the way logcat is stored (to be run the whole time).

The rest is mostly logging / refactoring with no functional changes.

adding retry for when selendroid-server fails, if it continues to fail, get the logcat (in verbose mode)
refactor to AbstractDevice
adding more logging

(also, i have no push rights to the selendroid repo!)