NSOperation

NOT WORKING YET! I thought a lot of hierarchy problems could be solved by making `JLScope` a subclass of `NSOperation`.

This means:
1. Scopes don't have to be copied in order to have multiple parentScopes
2. A scope will not begin "performing" until every parent is finished, and then it will merge it's parent's indexes first. (How it was before, performing regex in each parent's indexSet separately could have caused some matches not to match)
3. A scope's identifier should now be completely unique (Wasn't the case before – copies)