Initial work to create an interactive debugging environment.

Implemented a simple command-prompt system for interactive debugging,
which is enabled if the OCLGRIND_INTERACTIVE environment variable is
set to '1' when simulator is launched. Added a set of placeholder
commands, with implementations for 'continue' and 'quit';

Removed all previous debugging output (instructions and memory dumps).
Merge branch 'master' into interactive
Added basic help message and information for implemented commands.
Added info command to show current debugging context.
Moved WorkGroup::run functionality into Device class.

This gives control over work-item execution to the debugger, allowing
implementation of interactive debugging functionality.
Implementation of step that steps through SPIR instructions.
Added current instruction to info output.
Added comparators for ordering sets of work-items and work-groups.
Made source lines available to debugger.
Modified step to step through source lines (if available).
Fixed bug whereby quitting interpreter would crash next invocation.
Implemented simple printing of variables (set with llvm.dbg.value).
Implemented llvm.dbg.declare intrinsic.
Added help text for step and print instructions.
Implemented list command.
Removed unimplemented debugger commands from help list.
Implemented simple breakpoint system.
Fixed continue and list commands when all work-items have finished.
Implemented delete command.
Breakpoints are now tied to specific programs.