Clean how tags are parsed

The tag: li@potato[quantity=2]|taco.random would read |taco as a
separate attribute, as if it were .taco ... this commit fixes that and
at the same time actually simplifies the Component Regex (while slightly
extending the bracketRegex to make sure brackets are at the end of the
tag)
This has a mini-internal bug that for li@taco|potato[quantity=2]
quantity=2 will be read as a Context... but the tag still returns
correctly due to the irrelevance of context for that place in tag
handling.
All tags with [brackets] seem to be working as intended, though it would
be nice if someone could run a few tests and confirm that.
Merge pull request #594 from mcmonkey4eva/master

PR for the fixing of previous fixes
Merge pull request #595 from Morphan1/master

Fixes and fixes for fixes
Add player.has_finished[script_name] and player.has_failed[script_name] tags.
Fix meta.
Fix location.yaw.simple, fixes #600

1.7 changed the yaw calculations it seems
also fix a meta typo
also make location.identifySimple return notables. Though that function
isn't even used yet.
Merge pull request #602 from Morphan1/master

Random fixes
Optimise RepeatCommand slightly
Add <script> tag to get attached script and <s@script.cons[constant_name]>  for fetching script constants.
Merge build.
Fix issue, meta.
Merge branch 'master' of https://github.com/aufdemrand/Denizen
prevent errors on poorly formatted serverCommands

my favorite command is /
Which throws an error in Denizen. This removes that error.
Add resume command, update pause meta

The pause command itself needs to be updated... but now it's at least
described properly + the command registry now has the resume command
that was already set up for in the code.
Merge pull request #601 from mcmonkey4eva/master

Pull request for fixing of things
Merge branch 'master' of https://github.com/aufdemrand/Denizen