Feature model handling

Fulfills #23, #27, #24