Fix describe issues

Show nested describe names in test output, and also fix a problem where describe-level tags were broken.

Related to issue #57.

New test output:

```
describe("users", function()
  describe("logging in", function()
    it("sets the current user", function()
      local user = { name = "Jack" }
      local loggedInUser = user

      assert.are.equal(user, false)
    end)
  end)
end)
```

Gives out:

```
●
0 successes / 1 failure / 0 pending : 0.000742 seconds.

Failure → ./test.lua @ 3
users / logging in / sets the current user
./test.lua:7: Expected objects to be equal. Passed in:
(boolean) false
Expected:
(table): {
  [name] = 'Jack' }
```