[WIP] Better Proguard support

Annotation processor has been rewritten so all model classes can now be obfuscated fully.
Realm class has been made a lot simpler due to this as well.

Further work:
- Consider if compiler and Realm should be split into two projects (afaik only way to get rid of -dontwarn javax.**)
- Consider shading JavaWriter to get rid of Square warning and to reduce future compatibility issues (see https://github.com/google/dagger/issues/79)
- Explore possibilities to get RealmProxyMediatorImpl even though it has been obfuscated (possible through annotations).

If all 3 things above are implemented we can support proguard without **any** additional configuration.


I think it should only be `<E>`. It should be `Class<E extends RealmObject>` in the argument list