WIP on annotation helper to PreferenceActivity and PreferenceFragment

This PR is a WIP, and related to #7.

I decided to use resource IDs instead of plain string preference keys in the annotations, since this is the suggested way (if you use a string resource as a key, you can use it both  in java and xml). Also the implementation is easier, since we can rely on existing concepts.

The implementation is basically the same as View injection/listener. Currently there is some code duplication, but i am not sure we should remove that, because it would really obfuscate the intent of the code. But i gladly accept suggestions on that.

@yDelouis, @DayS, @dodgex i would appreciate your feedback.
I am just trying this PR in a real app. I think we could further help the user, if we not just allow `Object` here, but any type which can be a preference. So the client do not have to cast the parameter, we could do that instead of him.
For the built-in Android `Preference` classes, these types can be in the `newValue` parameter:
* `String` (`EditTextPreference`, `ListPreference`, `RingtonePreference`)
* `Set` (`MultiSelectListPreference`)
* `Boolean` (`CheckBoxPreference`, `RingtonePreference`)