several bug fixes and put large function into its own class

git-svn-id: https://plugins.svn.wordpress.org/custom-post-type-auto-menu/trunk@953134 b8457f37-d9ea-0310-8a92-e5e31aec5664