Reorganize test structure

- rename test helper to test-helper.el

- rename test-XX.el to XX-test.el to avoid confusion with test-helper

- `load', not `require' test-helper
Make sure nested token searches begin from open-token positions

There's a `(forward-char 1)' in the beginning of
`lua-find-matching-token-word' function to make sure the open-token is
not found repeatedly that may skip 1-character close-token (e.g. ] or })
if it's right after the open counterpart.

For example (| being current point):
- |function() return {} end -> (forward-sexp)
- |function() return {} end -> (forward-char 1)
- f|unction() return {} end -> (re-search-forward indentation-modifier)
- function() return {|} end -> (forward-char 1)
- function() return {}| end

At this point closing curly braces will be matched incorrectly as the
close brace has been skipped unmatched.