park the brainstorming for the UI
refactor get() to use get_sessions()

- Added get_sessions() to return a table with all saved sessions
- The get() method now uses get_session()
some sesslist stuff and start of tabcomplete
get_sessions() now has an optional name param

- get_sessions now optionally filters results with string.match on sessname. Added for tabcompletion
refactored out build_sessmenu()

- build_sessmenu(sessname,left) returns a table for menu. It can be used to filter by sessname and additionally left can be cset for the tab completion
show all sessions if tab pressed without parameter
set the prompt properly (hopefully)
tab completion seems to be working

- cant complete on empty word atm afterall, the completion code isnt meant to support that
- dont build a menu if get_sessions doesnt return any
- fixed command line replacement
rename the commands to give them a common 'namespace'

- loadsess -> sessload
- savesess -> sesssave
- listsess -> sesslist
fixed the tab complete triggers

- Needed to update the tabcomplete triggers in accordance to the cmdname changes
trim sessionnames

- tab completion adds some funky spaces which we dont care for in sessionname, so just drop leading and trailing whitespace
add a little debug helper print()

- wrapper around print so I dont have to keep calling tostring on stuff I quickly want to dump for debugging
fix opening of sessions

- The meaning of "!" was inverted.
- Now the windows are closed properly if replace is requested
- Got rid of extra tab in position one of the windows
- ?Fixed a racecondition with closing windows that randomly segfaulted luakit
- Tabs are now recreated in new windows as grouped in the session, rather than all in one window
Merge branch 'master' into ui_wip
the merge goofed up, correcting
some code cleanup
more checks on filenames
added session.delete()

- delete a session from disk
activate delete session binding in list
add sessremove command