i#1090: Don't swap retaddrs when the TOS is a native PC

This happens for this sequence of calls:

  native call native
  native call interp@plt
  interp jmp  native@plt      ; TOS is native PC: don't swap
  native ret                  ; should stay native

The jmp native@plt looks like a native gateway call to us, so we go
through call_to_native.  This change checks if the TOS return address is
native, and skips the swap if it is.

Makes DECLARE_EXPORTED_FUNC() in asm_defines.asm actually export things
so that we don't need getters in C or a .def file for the test code.

The existing tail call test code covers the edge case from i#1090 when
we call the appdll through the PLT.

Fixes issue 1090.

Review URL: https://codereview.appspot.com/7438045

git-svn-id: https://dynamorio.googlecode.com/svn/trunk@1964 49cc7528-f6fd-11dd-9d1a-b59b2e1864b6
Merge branch 'master' into native-exec-export-tailcaller