Remove ShadowActivity#onKeyUp and use real Android code instead.

Prior to this change, onKeyUp had a simplified copy of Activity#onKeyUp
which neglected to check whether the KeyEvent was being tracked (which
could result in divergent behavior in tests). It also called
onBackPressed directly which, due to how Robolectric's bytecode
replacement works, called directly to ShadowActivity#onBackPressed
rather than moving through the proper class hierarchy. In effect, this
meant that if an Activity had its own implementation of onBackPressed,
this implementation would be ignored and ShadowActivity's would be used
instead.

Since ShadowActivity#onKeyUp was removed, the associated shadow methods
for checking whether or not onKeyUp was called have also been removed.
Tests should check for state changes (like the activity being finished)
instead of needing to use these methods.
Merge pull request #1418 from tec27/onkeyup_override

Call the real onKeyUp code in ShadowActivity#onKeyUp.
Update the deploy snapshot script to deploy core shadows.
Move remaining annotations to annotations module.
Move Robolectric fakes into a org.robolectric.fakes package.