Android preference binding

This PR introduces the Android preferences binding

In the end we want to do something like this

    public class SettingsActivity : PreferenceActivity
    {
        protected override void OnCreate(Bundle bundle)
        {
            // Layout setups, etc

            var fooPreference = this.FindPreference("foo_preference");
            fooPreference.BindSetting(UserSettings.Instance, x => x.Foo, 
                x => // conversion from Java.Lang.Object to our type);
        }
    }

- [x] Make the binding works with custom preference types
- [x] Ensure that the settings aren't saved in SharedPreferences
- [x] Document the whole thing