Rewrite NDEF dispatch path. It was getting pretty messy.

The dispatch sequence is identical, but the hierarchy of functions has been
collapsed. The flow now is:

dipsatchTag() ->
  tryOverrides() ->
    *** NDEF override ***
    *** TECH override ***
    *** TAG override ***
  tryNdef() ->
    *** AAR to NDEF ***
    *** AAR to application launch ***
    *** AAR to market launch ***
    *** regular NDEF ***
  tryTech() ->
    *** TECH ***
  *** TAG ***

o Fix bug where cancelling a pending intent would disable further foreground dispatch.
o Fix bug where a foreground process dying would not cancel override
o Assume one NdefMessage per tag in implementation methods

Change-Id: Iaf7a0a83076e4f540a5e55c9e628490570116b01
4 files changed