Require ‘gocode’ via TextMate 2’s required command system

This leads to a better user experience and allow the user to set TM_GOCODE instead of updating PATH.
Change (advanced) completion command’s key equivalent to ⌥⎋

Previously this command eclipsed the simple buffer completion, of which it is not a superset, so we should keep both actions around, especially since this command does not work before the user has installed ‘gocode’.
Implementation tweaks

Ask TextMate to “save modified files” and use TextMate.save_if_untitled in the command, which will create a temporary file for untitled documents. The advantage is that whenever there is a file, TextMate will handle saving it, rather than delegate this to the command.

Limit TextMate.make_project_master_current_document and the ‘:use_hashbang’ argument to the commands that call TextMate.executor. The method will check if the user has setup a different master file, and if so, change TM_FILEPATH to point to the master file, which isn’t relevant for Run (⌘R) and documentation lookups. Likewise, the ‘:use_hashbang’ argument is only relevant for TextMate.executor.

The ‘:interactive_input’ argument is no longer supported and has been removed.