Start implementing landscape view

For maximizing the snapshot I want to use the landscape mode. Hence,
when the phone is rotated the image should fill the whole screen. For
that I have started to override the appropriate methods and make sure
that rotation is only enabled when the motion detection is active.

By researching about this topic I have also learned about saving the
activity state. Thus, it might not be necessary anymore to retrieve the
server status every time.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Provide filename on motion alert

When a GCM message is issued due to an motion alert, then this message
will now carry the filename of the generated capture as well. This way
the client can request this capture in order to display what has
triggered the motion alert.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>
Refactor model and activity dependencies

For a cleaner interoperability between the state model of the client and
the activity I have refactored the inner structure. Especially, the
client methods have been changed and often split to offer similiar
functions, but with few differences in a more convenient way.

This way I have also learned more details about the Android Activity
lifecycle. If the user presses the *Back* button the current activity is
destroyed and the instance state is not saved. Here, I have to retrieve
the server status in order to get the client in sync again.

If the user presses the *Home* button the current activity is only
paused. If the application really gets shutdown by the operating system
I store now the client's motion detection state, as well as the current
snapshot, inside the Bundle for restoring it later.

Signed-off-by: Konrad Reiche <konrad.reiche@gmail.com>