Multiple changes

- Refactored the implicit manager and entity, component_storage
  and classification and moved the implementation of their more
  complex functions into separate files in the implement/ directory.
- Refactored the manager<>::entity_range.
- Added the entity filters/predicates.
- Updated the examples.