added IO and interactive utility classes
Merge branch 'client'
added double reading function
non-root level menu handling and user interaction fixes
client menu items
interactive client with menus