Increase cache coherency.

Mainly achieved by allocating components in contiguous memory blocks.
This is a breaking change, thus the major version bump.
Fix visibility issue with gcc.
Removed Manager. Add EntityX class. Largely eradicate use of shared_ptr.
Use raw pointers for components, allocated from pools.
Update README for 1.0.0.
Switch to Catch testing framework.
Use TEST_CASE_METHOD rather than SECTION.
Wrap component access in a ComponentHandle.
Use vector rather than unordered_map for event dispatching.
Doc updates.
Don't include entityx/Manager.h - it is no longer used.
Verify destroyed event count is correct.
Add -g to release builds.
1.0.0alpha1 release.
Only delete assigned components.

Fixes #31.
README updates.

Fixes #32. Fixes #33.
Add convenience `Component<T>::Handle` typedef.
Call systems.configure() in example.
Override Entity::component() to return a const ComponentHandle
Merge pull request #35 from x-w/master

Add "Entity::component() const" which returns a handle of const component