Stop scanning when we're on low battery.

This addresses issue #41.

This leaves some room for refactoring: we no longer have the main activity as a the service's sole controller that asks it to start and stop; we now also have the service stopping itself sometimes and we need that information to flow back to the UI. My solution here was straightforward (issue a "Scanner" intent to force an UI update), but we might want to re-think the information flow between the main activity and the server in the future.