Generic secure time layer

Provided a time source api in order to let soc vendors implement their
own secure counter

- Moved platform-dependent code out of tee_time.c to make it a generic
  time layer.
- Added an abstract layer for platforms to implement their own secure
  time source.
- Implemented arm cntpct as one of secure time source.
- Moved rtt0 related time operation from tee_time.c to tee_time_rtt.c,
  act as another secure time source.
- Added tee_time_ree.c for the plaform that doesn't have secure time
  source. In this case, using ree time as secure time source.
Implemented wait in normal world

Instead of busy waiting in secure world, it is more efficient to wait
in normal world such that HLOS can schedule another task to execute
while waiting

- Added a new RPC command to wait in linux driver
- Remove wait_specific() hook in time_source, it seems can be a generic
  function.
- This patch depends on "Implemented wait in normal world" in
  optee_linuxdrver
"Core Status" service on malloc

- Gets teecore heap info.
- Enabled only on CFG_TEE_FW_DEBUG != 0.
- Update dirty tests
- Reset max allocated size after malloc dirty tests.