Introduce convenience functions to build
Introduce convenience functions to build

This patch introduces two convenience functions to the build system:

  - assert_boolean: asserts that a given option is assigned either 0 or
    1 as values

  - add_define: helps add/append macro definitions to build tool command
    line. This also introduces the variable DEFINES which is used to
    collect and pass all relevant configurations to build tools

Change-Id: I3126894b034470d39858ebb3bd183bda681c7126

idl3r/arm-trusted-firmware,achingupta/arm-trusted-firmware,ljerry/arm-trusted-firmware,sandrine-bailleux-arm/arm-trusted-firmware,sandrine-bailleux-arm/arm-trusted-firmware,athoelke/arm-trusted-firmware,Leo-Yan/arm-trusted-firmware,mtk09422/arm-trusted-firmware,lsigithub/arm-trusted-firmware_public,96boards/arm-trusted-firmware,davwan01/arm-trusted-firmware,vchong/arm-trusted-firmware,robixnai/arm-trusted-firmware,Leo-Yan/arm-trusted-firmware,ljerry/arm-trusted-firmware,achingupta/arm-trusted-firmware,lsigithub/arm-trusted-firmware_public,sbranden/arm-trusted-firmware,96boards/arm-trusted-firmware,jcastillo-arm/arm-trusted-firmware,vchong/arm-trusted-firmware,longsleep/arm-trusted-firmware-pine64,yatharth-arm/arm-trusted-firmware,sandrine-bailleux/arm-trusted-firmware,sbranden/arm-trusted-firmware,sandrine-bailleux/arm-trusted-firmware,athoelke/arm-trusted-firmware,hzhuang1/arm-trusted-firmware,jforissier/arm-trusted-firmware,robixnai/arm-trusted-firmware,jforissier/arm-trusted-firmware,longsleep/arm-trusted-firmware-pine64,idl3r/arm-trusted-firmware,mtk09422/arm-trusted-firmware,jcastillo-arm/arm-trusted-firmware,davwan01/arm-trusted-firmware,hzhuang1/arm-trusted-firmware,yatharth-arm/arm-trusted-firmware