android_pipe: import the qemu_pipe/goldfish_pipe code

This brings in the android emulator pipe code from the current aosp-qemu
master branch. It works with and has been tested with the pingpong
pipe device. Currently the device cannot save and restore.

  - remove dependency on android utils (ANEW/ASTRDUP/AFREE)
  - detach from the goldfish_device bus bits (inc irq raising)
  - import a few helper functions (uint64_set_high/low, goldfish_guest_is_64bit)
  - disable the VM save/restore code
  - use current_cpu for memory translation ops instead of cpu_single_env
  - fix debugging prints using portable formats
  - common code path for translating vaddr->qemu addr*
  - make some debug statments user-visible (unimp and guest errors)

There is a hacking backlink between AndroidPipeState and the PipeDevice
stuff (which should be merged cleanly later) just so we can get back to
->irq when we need to.

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---

v2
 - Fix get_qemu_addr_of_guest_buffer() to use cpu_physical_memory_map(),
 - remove remaining dead code (#if 0/commented)
 - rename remaining Goldfish/goldfish_ to Android/android_
 - add a little commentary to the top of the file
 - completely remove state save/restore code
 - add some FIXME statements where known

v3
 - handle failure to get physical page
hw/arm/ranchu: add pipe device