Bug fix(Reflect comment: https://github.com/egison/egison/pull/56#issuecomment-55673182)

Fix `Language.Egison.Core.gatherBindings` such that the following matching state results in returning only `bindings1`:

```
MState (...) (...) bindings1 [MNode (...) (MState (...) (...) bindings2 [])]
```

Now `gatherBindings` checks resolution of *whole* matching states and return *the only top-level* binding if resolved.

Thanks for your comment, @egisatoshi .