ahci & exynos5: enable HDDs like Seagate Barracuda

Initialize and limit port speed to 3 Gbps in general because the Seagate
Barracuda 1TB throws much errors with 6 Gbps by now.

Try all port speeds from the highest to the lowest as long as debouncing fails
and try them all again in this order when falling back to slower debouncing.

Try to recover from all types of interface error.

When a port was recovered from an error during a NCQ command
get the last LBA that was accessed successfully and continue command from
this point.

Use a platform driver through the 'Regulator' service to do CMU and PMU config.

Switch off verbosity by default.
Fix coding style in regulator interface (fix #777)

Conflicts:
	dde_linux/src/lib/usb/arm/platform_arndale/platform.cc
	os/src/app/cli_monitor/foc/extension.cc
	os/src/drivers/sd_card/exynos5/main.cc
base: ARM-FPU 'memcpy_cpu' implementation

Added spec file for ARM-VFPv3 floating-point unit. This shadows
'base/include/arm/' with 'base/include/arm/vfp' and enables a 'memcpy_cpu'
version that mainly uses the FPU. Enabled VFP support for 'foc_arndale'.

Ref #773
ahci_driver.cc: enable SSDs like OCZ Agility 3

Declare ATA device-register structure and check it with more detail.

Fasten error recovery about 9 ms.
ahci_driver.cc: allow 6 Gbps port speed
ahci & exynos5: AHCI (+ part_blk) bench in l4linux
ahci & exynos5: avoid large DMA buf in AHCI bench

Normally this bench has read all data to one large buffer and
than written it back to the drive but for SATA 3 (6 Gbps) benchmarks
we would need a buffer of approximately 1.2 GB to do it this way
and reach 2 seconds bench time. Thus we use a buffer of SATA request size
and override it with every request.
part_blk: raise max packet size to 1 MiB

This is because the old packet size of 128 KiB slowed
down l4linux AHCI benchmark on arndale with large block sizes.
l4lx: raise block TX buffer size to 10 MiB

This is because the old value of 1 MiB slows AHCI benchmark
on Arndale a little with large block sizes.