.classpath: Enable Android compatibility libraries

These are needed for the android.support.v4.* classes.  See:

http://stackoverflow.com/questions/16636039/java-lang-classnotfoundexception-after-changing-nothing-in-the-project-but-upgra
Apply wifi rules to "bnep" Bluetooth PAN interfaces

Bluetooth Network Encapsulation Protocol interfaces connect to nearby
devices, like wifi with a limited range.  They are currently ignored by
AFWall.  Apply the wifi rules to "bnep+".
Delete a bunch of unused code

Some of this code references APIs that are slated to be changed, so
removing it now makes it easier to refactor other functions.
Api: Delete unused runScript* wrapper methods

Everybody just calls runScriptAsRoot() anyway, so get rid of the unused
variants.
Api: Eliminate HashMap warning

Android really wants us to use SparseArray instead of HashMap for mapping
integers to Objects.
libsuperuser: Update to interactive-v3 branch

This is taken verbatim from github, dos2unix'ed, with
"import dev.ukanth.ufirewall.BuildConfig" added where necessary.

This removes the local modification for exit status checking.  Exit
status checks will be broken in blocking mode, but work fine in
Interactive mode.
Add new "G" class to store preferences, globals, etc.
Add new RootShell class to support persistent root shell
Api: Refactor applyIptablesRulesImpl() and applySavedIptablesRules()

Use a helper function to replace code that was duplicated between
3G/wifi/LAN/VPN.  Simplify the command list and fix error checking when
IPv6 is enabled.  Allow applySavedIptablesRules() to be called in a
non-blocking mode from the UI thread, but retain the blocking mode
for backward compatibility with current callers.

This patch shouldn't actually change any of the packet filtering logic.
MainActivity: Create menuSetApplyOrSave() helper function

This logic gets called from a couple of different places, so factor it
out.
MainActivity: Refactor applyOrSaveRules() to use non-blocking calls

This will no longer block the main UI thread waiting for the iptables
commands to execute.
Api: Refactor purgeIptables() to take a callback function
MainActivity: Refactor purgeRules() to use non-blocking calls
MainActivity: Start a root shell in the background on startup

This prevents the user from having to wait for "su" the first time he
performs a privileged operation.
Api: Add new non-blocking methods to support Rules/Log activities

For logging: clear logs, fetch logs, toggle logging without reapplying
the entire set of rules

For rules: fetch rules, flush all rules
Api: Add new methods to retrieve interface info

interfaceInfo() lists the interfaces in /sys/class/net, then optionally
matches each one against the ITFS_* lists to show whether they match
the iptables wildcard rules.  This doesn't execute any shell commands,
but it should probably be run in an AsyncTask due to filesystem I/O.

runIfconfig() runs busybox "ifconfig -a" to list all interfaces, stats,
link statuses, and IP addresses.  This requires a new busybox binary.
strings: Add a few new strings for Rules and Log activities
Api: Split out log parser into a common, non-blocking method
Update busybox sources

Add busybox 1.21.1 and instructions for building with the NDK.  This also
has CONFIG_IFCONFIG enabled.
res: Add new busybox_g2 precompiled binary