Add fieldnull tool

The fieldnull tool uses jvmti to allow one to examine which portion of
a fields values are null on a running process. This can be used to
determine if changing the layout or implementation of a class would be
appropriate when the data is optional.

Bug: 32635074
Test: ./test/run-test --debuggable \
                      --host \
                      --dev \
                      --with-agent 'libfieldnull.so=Ljava/lang/Class;.name:Ljava/lang/String;' \
                      001-HelloWorld
Test: am start-activity \
         -S \
         --attach-agent '/data/local/tmp/libfieldnull.so=Ljava/lang/Class;.name:Ljava/lang/String;' \
         com.antonioleiva.bandhookkotlin/.ui.screens.main.mainactivity;
      kill -3 $(pidof com.antonioleiva.bandhookkotlin)

Change-Id: If64a9720d97625761556d78e881662f84953115f
3 files changed