Minor bugfix: getMonster 'Giant' will now try '^Giant$' before '^Giant'

Also beautified the code for getMonster a bit by using <|> and
added a couple of comments for some other functions.