Add .gitignore
Expose JS object to JS commands; other refactoring

- app.js
  - Removed unused dependency on ngRoute
  - Exposed various JS objects to the running JS command, including the
    Codemirror instance, the CM editor options, the current tab's history, and
    the current command's scope.  This allows you to programmatically access
    (or even change!) previous command output.  The bit about changing it will
    probably change.  :)
  - Removed useless follow() function & all its calls
  - Refactored the way commands are run
  - Manually "hoisted" functions in my directive.
  - removed unneeded $scope.$apply() in the editor hotkeys for cmd-enter &
    shift-ctrl-h.
- index.html
  - Renamed some vendor dependencies
  - Moved hotkeys to the controller, so they'll show up in the "?"
    cheat-sheet.
  - Removed unused dependencies
- server.go: some refactoring