Reorganized...Again

Rereorganized back into putting the custom LocationListener object into
a service so I can control the lifecycle. I believe it will now update
itself even if not in the foreground. This has broken the user interface
buttons, I will have to figure that out