Add some more android specific functions

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>
header externs for local string utils (add strlen)

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>
Add "NOARGS" symbol param

This gives me the ability to selectively print arguments to functions whose
backtrace is not taken. For example, I would like to print the arguments to
malloc, but not memset.

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>
Logging speed enhancements / refactor

slightly refactor the backtrace logging code:
  *) stash a pre-formatted version of the timestamp for multiple
     calls to bt_printf
  *) move some of the macro code into real functions to save on
     code size and hopefully fit more in cache
     (this also allow me to create a really raw print function)

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>
Global cache of CALL:symname values for fast print

No argument, no backtrace log lines need to be as fast as possible. This patch
keeps a cache of pre-formatted lines used in the no-arg/no-backtrace case. Using
the raw printing facility introduced in the previous patch, these log lines can
avoid an extra call to snprintf. When these functions are generally called 100x
more than any other functions, this makes a difference :-)

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>
decrease per-thread log buffer size

While this increases the load on the CPU through more frequent libz calls, it
decreases the overall log buffer size for a system trace from ~75MB to ~18MB.
This makes a difference when tracing memory hungry processes like chrome.

Signed-off-by: Jeremy C. Andrus <jeremya@cs.columbia.edu>