Integrate menu functionality;

- Add API::Menu class for building menus.
- Add Menus repository class to store all known menus.
- Add tests for Menus repository.
- Add `menu` API method for creating menus.
- Reset all menus when running tests.
- Add menu related information to API document.

Update events
- Use #map instead of #each; this is pretty significant because #each returns
the Event objects themselves not the result of calling the event. Feel a bit
brain-dead here.

Remove Vedeu.reset_all!;
- Apart from slowing down the tests considerably, this missing data problems
when testing; for example, deleting all of the system events.

Add more documentation.
Add more tests.