Refactor hammer to support cross-compilers.

-Added android support.
-Customize build with flags.
-Cleanup the code.
-Use the new setup_env technology.
-It will fail on invlalid targets.
-Updated manual.
-Allow to use stable releases if development build fails.
Update cegui to 0.8.4.

It has some fixes for static libs, so we need less patching.
Add apk bundling directly from hammer.sh.

In the past, you needed to call AppBundler.sh separately.
Now it is called from hammer, which is required to support
all kinds of customization parameters.
Refactor release_ember builds.

-It will call hammer as substeps to reduce duplicated code.
-The parameters are compatible with the previous solution.
Prevent changing path when updating toolchain detection.
Update Android ndk and sdk.
Update boost and use it directly.

Latest Boost supports Android so we don't need to use
the hacky Boost-For-Android anymore.
Use TinyXML instead of expat.

TinyXML is smaller and Ember uses it anyways.
Escape string before passing to sed.
Fix SDL for android-x86 target.
Remove unneded file.

Since boost supports android this is not required.
Fix debug builds.

Also add short form with -d flag.
Speed up repository cloning.

It seems that cloning the latest version is 10x faster,
then cloning an old version.
Maybe bitbucket is caching the latest version only.
Remove cpu-features from patch.

It was accidentally pushed.
It should be pulled from ndk.
Disable some unneeded Ogre modules.
Use CEGUI_defaults.cmake to select components.

Also upgraded to cegui 0.8.4 hg tag.
Add support for bundling Android apk files.
Fix problem with libtool messing up relative paths.
Use ndk zlib in freeimage and freetype
Disable neon and sse for openal.

The sse seems to use a typedef not defined by ndk.
The neon is also enabled on android-x86.