decompressors: add lz4 decompressor module

This patch adds support for LZ4 decompression in the kernel.
LZ4 Decompression APIs for kernel are based on LZ4 implementation
by Yann Collet.

LZ4 homepage : http://fastcompression.blogspot.com/p/lz4.html
LZ4 source repository : http://code.google.com/p/lz4/
lib: add support for LZ4-compressed kernels
This patch adds support for extracting LZ4-compressed kernel images,
as well as LZ4-compressed ramdisk images in the kernel boot process.

This depends on the patch below
decompressors: add lz4 decompressor module

arm: add support for LZ4-compressed kernels
This patch integrates the LZ4 decompression code to the arm pre-boot code.
And it depends on two patchs below

lib: add support for LZ4-compressed kernels
decompressors: add lz4 decompressor module

Date:   Thu Nov 22 12:50:43 2012 +0100

    ARM: 7583/1: decompressor: Enable unaligned memory access for v6 and above

    Modern GCC can generate code which makes use of the CPU's native
    unaligned memory access capabilities.  This is useful for the C
    decompressor implementations used for unpacking compressed kernels.

    This patch disables alignment faults and enables the v6 unaligned
    access model on CPUs which support these features (i.e., v6 and
    later), allowing full unaligned access support for C code in the
    decompressor.

    The decompressor C code must not be built to assume that unaligned
    access works if support for v5 or older platforms is included in
    the kernel.

    For correct code generation, C decompressor code must always use
    the get_unaligned and put_unaligned accessors when dealing with
    unaligned pointers, regardless of this patch.
Increase vm_max_readahead to 1024Kb
Updated DefConfig
yaffs2: backport

testing...
Tune dirty_background_ratio and vm_dirty_ratio
Some Fixes for Linaro GCC 4.7.4 compiling