handle circular references in extra

fixes an error where if `extra` contains a circular reference, quest will fail with `TypeError: Converting circular structure to JSON`. The test fails with maximum call stack size exceeded.

uses `util.inspect`, which detects circular references