Move scope variables into a Context.

Create a Shell Context object for storing scope variables, return values, caught exceptions, etc.

Make commands ContextAware to give them access to this context. Stop storing every exception ever in the shell, and just store the last one in the Context.

Add another magic variable ($_e) for storing a reference to the last caught Exception.

Override $_ and $_e, so that they're always the magic value even if users set them to something else while using the shell.
Remove ShellAware interface, implementation.

ShellAware is unnecessary, as all commands have access to the Shell already :)
Only set Context and PresenterManager once.

Set Context and PresenterManager instances on Commands which are Aware once, when they're added to the Shell, rather than every time they're called.
Add automatic semicolon insertion to ParseCommand.
Add a --clear option to the history command.
Rearrange Readline implementations to be more consistent.
Add docblocks to the Readline implementations.
Run exceptions and history through the escaper too.
Added code cleaner to verify that the functions are used correctly
Make incredulity exponential.
Merge pull request #19 from hason/function_context

Added code cleaner to verify that the functions are used correctly
Whoops. This is why we have CI :)
Fix for HEREDOC and NOWDOC syntax.
Simplify ForkingLoop savegame implementation.
Use a socket pair for ForkingLoop return values.
Code cleanup.
Use stream_select() because timeouts.
Escape history values, more visible highlight.
Escape trace and wtf command output.
Fix ReflectingCommand regression.