Reentrancy fixes

* Adds a mutex that waits in normal world if busy
* Adds a new RPC service to wait in normal world
* Imports bitstring.h from FreeBSD to aid mutex implementation
* Adds a critical section in tee_ta_init_session
* Unmaps TA before RPC exit and maps it again on return to handle
  rescheduling of threads during RPC
* Doesn't clear a1-a3 when returning busy
* Bugfixes vector_std_smc_entry
Since we're both reading and writing from/to cpsr in itr_disable and itr_enable, we have a potential race condition as I see it. Wouldn't it make sense to move interrupt enable/disable so they are protected by the spinlock? Risk for deadlock by doing so? Or even better, add mutex's inside the interrupt enable and disable functions?