[FEATURE] Ultra-basic #menu implementation skeleton
[FEATURE] Add support for menu timeout handler
[FEATURE] Basic menu result matching implementation

* Only handles a single option per match
* Only handles integer matches
* Does not handle ambiguous matches
[FEATURE] Allow multiple options per menu matcher
[FEATURE] Allow match choices to be a range or an Enumerable of possible types

Brings full complement of options in line with documentation
[FEATURE] Deal with ambiguous matches to menus

Use the first match
[FEATURE] Implement menu repeats
Merge branch 'feature/menu' into develop