refactor, add tests, update readme.

Should now produce expected results on all tests.
sure, sorry about that. I just realize there was a .editorconfig. I usually use that but had a plugin issue with st recently and removed most of the packages to fix it...  but before I push up again, looks like you're right about https://github.com/sindresorhus/multimatch/pull/5#discussion_r14046482, but I don't see the advantage of changing back to that unless you want the code more nested instead of descriptive. altough `pattern[0] === '!'` is probably faster than `/^!/.test(pattern)`. just let me know what you prefer.