Some flattener changes
Complete refactoring of the flattener code.
Add board abstraction.