Add Catch dependency for unit testing

Add Catch as external project
Add find script for Catch
Clean up use script for SFML
Build dependencies at configure time

Made project for each dependency
Add placeholder target for tests
Simplfied install instructions
Moved main CMake project up to the repository root
Add unit tests for event manager

Fix typo in Boost use script
Fix double project declaration in CMake project
Add cleanup section to install instructions
Add Linux compatibility

Fix bugs that Visual Studio let pass
Change event manager back to use perfect forwarding references
Only include integer sequence for Visual Studio
Fix missing namespaces before std types
Compiles under GCC 4.9.1 now
Fix missing std namespace