previous changes were made to Dsl that built on the options hash that was passed to it.
previous changes were made to Dsl that built on the options hash that was passed to it.

Except the options hash is actually a
    Thor::CoreExt::HashWithIndifferentAccess

so, i reorganized the internal access and storage to read original data from the passed hash, but stores it into a local hash.

No tests changed since no external behavior changed.  All tests passed.

This fixes the issue when the binary is run and results in a
     can't modify frozen hash (RuntimeError)

small change to fix specs to run and always have @@orig_options be locked.

sideci-sample/sideci-sample-guard,garettarrowood/guard,yujinakayama/guard,pjump/guard,baberthal/guard,sdgdsffdsfff/guard,ginkel/guard,100star/guard,guard/guard,travis-repos/guard