Show full exception when running test GQL
Overhaul error handling in the GQL module

* Introduce GQL::Command, which wraps around a GQL statement and creates
  the Proc which can be executed by Rubel. This allows us to retain
  information useful for debugging, such as the query string which is
  being executed, the file and line in which it is defined, etc.

* Replace Input#rubel and Gquery#rubel with Input#command and
  Gquery#command.

* Adds CommandAttributes which provides the "command_for" helper.
  Converts an input or gquery attribute into a GQL command.

* Added "file_path" to Input.

* GQL#rubel_execute will wrap exceptions with a CommandError. This
  replaces the "backtrace" method with strings containing the .ad file
  in which a failed query is found.
Add Gql::Gql#inspect

The output to the default "inspect" was unreadable.
Preserve "to_s" from the original exception
Update better_errors
"fetch_and_rescue" becomes "fetch"

We will no longer catch and ignore exceptions which occur inside "fetch"
blocks, instead allowing the exceptions to be handled normally. This has
been done since the old behavior makes debugging particularly hard
(since any failed calculation can result in a "nil", with no idea of
where that nil originated).
Fix "command_for" in Ruby 1.9.3