Torch: add better error handling and added fallback mechanism

The handling of the Torch if an exception occured was very bad and
it was easy to break:

- notify the user with toast if the camera interface is not pressent
- catch the case that sys led controlled devices have wrong permissions
  (eg third party kernel) and torch will completly crash.
  Checking now if sys init is present.......if not successful
  try to switch back to the camera interface.
- send broadcast change only if the state really switched
- when error occured turn off the service and the notification
- cleanup
- send broadcast with qualified users

Change-Id: Iabeb3b5f1c17d784a06c154f9a33e8d3d5214b7d

Conflicts:
	res/values/strings.xml