extract generic views out of cydns/cydhcp into base/views, refactoring code