Several bugfixes

Component:
 - Check if context is declared in context configuration
 - Parsing all the components tree before building
 - Component search
 - Check if component has layered functions
Configuration:
 - Wires <Group>Layer only if Layer is not empty (if there is at least
one layered function)
Context:
 - Check if context was declared in context configuration
 - Provides a <Group>Layer only if Layer is not empty (id there is at
least one layered function)
ContextConfiguration:
 - ContextGroup and ContextConfiguration provides Layer only if it is
not empty.
 - Interface <Group>Layer is generated only if it is not empty.
ContextsHeader:
 - Prevent redeclaration.
FileManager:
 - Trying to open file in the current dir, then looking into included
directories.
Module:
 - Uses interface <Group>Layer only if it is not empty.