Allow an arbitrary number of menus

Inorder to add a new menu: the items array must be populated (in nc_compute_menu) and menu_i must get changed (in nc_get_user_choice). Everything else should be taken care of.

This also fixes a kernel panic when calling nc_destroy_menu();