coremanager: allow sub-directories in cores/systems

With this new features, we can have multiples sub-directories
in systems and cores directories. For example:

|
|-- de1
|   |-- de1
|   |-- de1-blink
|   `-- de1-eco32

This allows systems to be grouped under board name.

Signed-off-by: Franck Jullien <franck.jullien@gmail.com>
config.py: Only run constructor once
config.py: Remove call to add_cores_root from constructor
sections.py: Always define include_dirs in VerilatorSection
sections.py: Add __str__ function for sections
core.py: Only create verilator object if there is a section
sections.py: Make VerilatorSection buildable

This is to prepare for coming changes in verilator.py that will
only load a single .a file from each core instead of loading the object
files
verilator.py: Load archives from cores instead of building directly
sections.py: Make systemC test benches buildable again

The refactoring done to build archives from verilator sections
broke systemC test benches. This should fix it again