Add support for YAML formatted files

- Add support for YAML formatted files using [PyYAML]
  (http://pyyaml.org/)
- Add support for an ``import`` option in a menu item, this 
  allowing different menus to be stored in different files.
- Prevent ``function`` being fall-through case for functions. Now
  throw exception where unrecognised option is found in a menu 
  file