Add support for arm64

Depends on corresponding API change in user space.

* Adds support for arm64
* Many small fixes to make generic code compile for arm64
* Moves teesmc*.h from armv7 specific to include/arm_common
Add fdts for FVP Foundation model

Adds fdts for FVP Foundation model which reserves the shared
memory used by normal and secure world.

These files is a temporary workaround until the driver has switched
to use CMA to allocate shared memory.
Allow parallel entries to secure world

* Waits for a thread to exit secure world until trying again if
  secure world return "busy"
* Serializes communication with tee-supplicant in case multiple
  threads are trying to communicate with tee-supplicant concurently
* Adds service for secure world to wait until awoken by another
  thread, supporting mutex in secure world
* Bugfix tee_shm_pool_free() to use list_for_each_entry_safe instead
  of list_for_each_entry