Newmenus: Execute menu callback when old-style menu overwrites new menu

show_menu simply resets CPlayer::newmenu. The menu callback is never fired and the plugin never informed that the menu has been closed. This can result in leaking menu handles. Using "menuselect 10" on the client is not an appropriate solution because it is possible to construct newmenus that contain 10 valid items.
Newmenus: Add MENU_TIMEOUT status code and pass it where necessary
Newmenus: Fire MENU_TIMEOUT on menuselect client command
Newmenus: Add Menu::Close to remove a bunch of redundant code
Newmenus: Use Menu::Close everywhere
Newmenus: get_user_menu should also handle newmenu timeouts properly
Newmenus: Add necessary API changes for newmenu timeouts
Newmenus: Update MENU_TIMEOUT doc
Newmenus: Add get_menu_by_id and use it everywhere
Newmenus: Fix typo in error message
Merge pull request #21 from Nextra/newmenus

Newmenus: Add menu timeouts (+ extra bugfix)