Merge pull request #55 from Matchlighter/master

Added DialEvent and findNearestGate
Made something fancier from Matchligter's PullRequest.
Fixed API interface for shield controller's TE having a wrong name.
Everyone loves the "fixed a typo" commits.
Added the ability to dynamically create a new world when someone attempts to dial a non-existing world. Just for you @Matchlighter! :D
Stopped being silly and using a boolean variable to store a condition that doesn't change.
Reverted back to my function for finding the nearest gate.
If r was -1, `nearest` would become 1 and the search radius is then 1.
Checking if `r < 0` was faulty because `r` was never changed (So if it was
-1, it would always be less than 0 and cause an update of the nearest
address, regardless of whether the next address was actually nearer.)