Moved the JSHint config to a file and update tests

So now the tests use tabs for indentation and pass JSHint.
Tests index file now uses tabs for indentation.
Updated Jasmine and adapted the tests to use it.

Now we don't need boot code, it has it built in.
Updated the removal test to reflect the new method

It used to set unused event names to null because deleting it was
marginally slower. This would slowly cause a memory leak though, so now
it actually frees up values that are no longer in use.

Better for long running and large applications.
Added the tests for regex support. #39

They are failing at the moment, this is deliberate. TDD, do you speak
it?
Improved the tests a little bit. #39

Some where not working right and would never pass, even when the regex
code was added.
Added the regex event matching code. #39

This is for the getListeners and removeEvent method. By adding it to
getListeners it has added support to emitEvent as a side effect. Passing
a regex to other methods, such as removeListener will currently cause
all of reality to break down, condemning the world to thousands of years
of sorrow. Don't do it.

I'm going to try and restructure some stuff so you can use a regex for
pretty much every method. I basically need to slap square braces on a
few things and add the word "for" a few times.

Let's see what I can do.