Ruby: Fix mutable backtrace

This program:

```ruby
require 'rethinkdb'
extend RethinkDB::Shortcuts
r.connect.repl

q = r.table("non_existent_table").orderby({:index => r.asc("id")}).limit(1)
puts q.pp
q.run rescue nil
puts q.pp
```

Outputs:

```
r.table("non_existent_table").limit(1)
r.table("non_existent_table").limit(1)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Erroneous_Portion_Constructed:
        from test.rb:5:in `<main>'
Called:
```

Expected output:

```
r.table("non_existent_table").limit(1)
r.table("non_existent_table").limit(1)
```

Issue: the driver should not mutate queries.