support engine options overrides by output type

- allow engine options to be overridden for specific output types
- move default options under 'default' key
- set default options for haml and slim
- merge data from default site yaml when loading site yaml