Adding proguard rules to obey DoNotOptimize annotation
Adding proguard rules to obey DoNotOptimize annotation

Summary:
Issue: https://github.com/facebook/fresco/issues/2039

When proguard runs on SoLoader it needs to know about the `DoNotOptimize` annotation to leave out some methods that cause problems with Dalvik (esp. Android 4.x).

This diff adds the required proguard rules to Fresco.

**Test Plan**

Reproduce with the showcase app and the following modification in the buildfile to trigger proguard for the mainDebug build variant:

```
 diff --git a/fbandroid/libraries/fresco/samples/showcase/build.gradle b/fbandroid/libraries/fresco/samples/showcase/build.gradle
 --- a/fbandroid/libraries/fresco/samples/showcase/build.gradle
+++ b/fbandroid/libraries/fresco/samples/showcase/build.gradle
@@ -22,7 +22,7 @@
         vectorDrawables.useSupportLibrary = true // needed for tinting
     }
     buildTypes {
-        release {
+        debug {
             minifyEnabled true
             proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), '../../proguard-fresco.pro', 'proguard-showcase.pro'
         }
```

Just with this change and a 4.4.2 emulator, the showcase app crashes on start and we see the following error messages in logcat:

```
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase D/SoLoader: init start
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase I/dalvikvm: Could not find method android.system.Os.posix_fallocate, referenced from method com.facebook.h.k.a
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: VFY: unable to resolve static method 9734: Landroid/system/Os;.posix_fallocate (Ljava/io/FileDescriptor;JJ)V
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase D/dalvikvm: VFY: replacing opcode 0x71 at 0x012b
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: VFY: unable to resolve exception class 1338 (Landroid/system/ErrnoException;)
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: VFY: unable to find exception handler at addr 0x18a
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: VFY:  rejected Lcom/facebook/h/k;.a (BLcom/facebook/h/k$b;Lcom/facebook/h/k$d;)V
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: VFY:  rejecting opcode 0x0d at 0x018a
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: VFY:  rejected Lcom/facebook/h/k;.a (BLcom/facebook/h/k$b;Lcom/facebook/h/k$d;)V
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: Verifier rejected class Lcom/facebook/h/k;
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase D/AndroidRuntime: Shutting down VM
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0xa4d0cb20)
02-01 11:03:12.250 3446-3446/com.facebook.fresco.samples.showcase E/AndroidRuntime: FATAL EXCEPTION: main
                                                                                    Process: com.facebook.fresco.samples.showcase, PID: 3446
                                                                                    java.lang.VerifyError: com/facebook/h/k
                                                                                        at com.facebook.h.g.b(Unknown Source)
                                                                                        at com.facebook.h.g.a(Unknown Source)
                                                                                        at com.facebook.drawee.a.a.b.a(Unknown Source)
                                                                                        at com.facebook.fresco.samples.showcase.ShowcaseApplication.onCreate(Unknown Source)
                                                                                        at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
                                                                                        at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4344)
                                                                                        at android.app.ActivityThread.access$1500(ActivityThread.java:135)
                                                                                        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
                                                                                        at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                        at android.os.Looper.loop(Looper.java:136)
                                                                                        at android.app.ActivityThread.main(ActivityThread.java:5017)
                                                                                        at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                        at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
                                                                                        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
                                                                                        at dalvik.system.NativeStart.main(Native Method)
```

After applying the changes in this diff, the app starts without problems.

Reviewed By: erikandre, passy

Differential Revision: D6870674

fbshipit-source-id: e3fee1d231af2392ce50d63a9e8b52141086a244

facebook/fresco,s1rius/fresco,facebook/fresco,facebook/fresco,xjy2061/NovaImageLoader,xjy2061/NovaImageLoader,s1rius/fresco,xjy2061/NovaImageLoader,xjy2061/NovaImageLoader,facebook/fresco,s1rius/fresco,s1rius/fresco,facebook/fresco,facebook/fresco,xjy2061/NovaImageLoader