Add support for BL3-0 image (v2)

* Add support for loading a BL3-0 image in BL2. Information about
memory extents is populated by platform-specific code. Subsequent
handling of BL3-0 is also platform specific.
The BL2 main function has been broken down to improve readability.
The BL3-2 image is now loaded before the BL3-3 image to align with
the boot flow

* Build system: Add support for specifying a BL3-0 image that will be
included into the FIP image.

* IO FIP driver: Add support for identifying a BL3-0 image inside a
FIP image.

* Update the documentation to reflect the above changes.