Simplify defining the linker architecture macro.

Like the new TODO says, though, do we need this at all? Wouldn't we be better
off just using the regular architecture-specific macros? This is a dynamic
linker, so there's never a possibility of cross-linking.

Change-Id: I7be6b8663f5e585c4024a49aae383430c86a3c1b

Conflicts:
	linker/Android.mk
Update running bionic unit tests on host.

Add a bionic-unit-tests-glibc-run target to run the glibc bionic unit tests.

Modify the bionic-unit-tests-run-on-host to make sure that the /system/bin
directory is created properly.

Also remove the EXTERNAL_STORAGE variable which isn't used any more.

Bug: 11234772
Change-Id: I9aea501d05700b29e938f672474d550b1872a78b

Conflicts:
	tests/Android.mk
Modify pthread_join error return code.

On glibc, calling pthread_join on the thread of the main
process should result in an ESRCH, not EDEADLK. Make bionic match
this behavior.

Add a new bionic unit test to catch this behavior.

Change-Id: Iaacf105cd7b0788bdbb976e7ad2f723714be1078

Conflicts:
	libc/bionic/pthread_join.cpp