Optee a80 porting

Optee-os add a80 platform support.

This request have three patchs, The patchs summary:
1.gic driver add gic_cpu_init function, mainly for secondary cpu secure stage initialization,
2.Make uart driver more portable, add common console.h and console basic functions,
3.Add plat-sunxi support, the initial version, running on A80 Optimus board.

All patchs only tested on A80 Optimus board, Due to the lack of platform.
Mayeb the uart driver patch should be test on vexpress platform.
teesmc.h maybe should provide one general command for platform specific command handle.
Such as ""TEESMC_PLATFORM_OPERATION", Every platform handle special operation base on this command.
The platform command type and arguments pass form thead_smc_args.
If modify like this, every platform will very easy to add platform specific commands, And no need to change any common file and add new file.

Platform code will like this:
if (args->a0 == TEESMC_PLATFORM_OPERATION) {
		/*  platform special handle */
		switch (smc_args->a1) {
	                   case TEESMC_SUNXI_DO_A:
		           break;
                case TEESMC_SUNXI_DO_B:
		           break;
	        default:
		          ret = TEESMC_RETURN_EBADCMD;
		          break;
	}
}