Move PartialComponent out of component.h, to a separate partial_component.h file.
Update include guards to the actual file name (some were out of sync due to file renames).
Minor changes.
Improve compile-time error messages, and add tests for the improved messages. Also test that all public headers can be included on their own, and add missing includes.
Remove unused method from ComponentStorage.
FunctorResult no longer takes the functor arguments as parameters, simplifying the partial_component.h header. + some minor changes.