Snippet Organisation

Allow sub-directories within snippets with arbitrary depth.

**Considerations**
- File extension must be whitelisted within InputFile
- DirectoryInput  Doesn't allow directory traversal
- Easily extensible to any future DirectoryInput type like outcomes