Prevent message box crashes due to corrupted or missing data dir.

Delay factories debug tests after all the subsystems and resource paths are added.
Register MessageBox object factory.
Fix build using Urho3D as external library. Closes 112.

Add test cases in Travis CI to test build using Urho3D as external library in external (non Urho3D) project.
For Travis CI - explicitly request for bash shell to keep Ubuntu happy.
Added Assimp logging option to AssetImporter.
Fix Android build using Urho3D as external library.

Also:

- Enhance generated Eclipse project setting file to additionally use gcc/g++ error parser.

- Enhance cmake_gcc.sh script to fallback to find alternative CMake toolchains directory.

- Enhance Rakefile:
    - New scaffolding task to create new project using Urho3D as external library. At the moment only works in Unix-like platforms.
    - Build in Debug mode instead of Release mode as it should capture more potential issues.
Add debug postfix for main executables on Windows platform. Closes #113.
For Travis CI - cleanup Rakefile script.
[ci skip]
Added log macros with formatting. Closes #114.
Refactor to use new logging macros with formatting.
Ensure engine testing could terminate itself every time.

One of the CI build today stalled when performing the testing. The running application failed to time out. As crazy as its sound that could only mean the high precision counter reaches exactly zero! Murphy Law is proven correct once again.
There is no mouse wheel end event, so do not fade UI when mouse wheel scrolling. Closes #116.
Delete the event handler object in case of null sender (failed subscribe.) to avoid memory leak. Closes #117.
Added AO alpha & alphamask techniques. Closes #115.
Adds the ability to patch together two XMLFiles using the [RFC 5261](http://tools.ietf.org/search/rfc5261) with handling of Add, Replace and Remove for nodes and attributes. No handling has been added for namespace::prefix modifications at the moment. Use pass by value on sub-functions of add since gcc thinks there is no suitable conversion, where msbuild optimizes it out.

There are some gotchas with this, XML does not allow two text nodes (pcdata or cdata) to follow straight after each other, in those cases the two nodes will be merged with their text combined either at the start or end depending on the positioning of the two nodes. Secondly you can only select single nodes at a time, however xpath provides a way to specify a certain node if a query would return using more than one like so
```xml
<add sel="/doc/data[1]>...</add>
```
This would select the first data element that was found under doc.
Merge remote-tracking branch 'remotes/alexparlett/feature/xml-diff-patch'
Minor code formatting. Added mention of RFC 5261 to XMLFile::Patch() Doxygen comment.
Travis CI: API documentation update at 2014-01-12 12:44:17 UTC.
[ci skip]
Add AngelScript header into built-in 'install' target. Closes #121.
Add *.bak into git ignore pattern.
[ci skip]
Clean up build scripts to adhere to format convention.