Updating bash syntax

- Use Posix $() instead of backticks
- Use double brackets instead of single. Double brackets are syntax
  whereas single backticks are commands; doubles are faster. Double
  brackets deal with cases where variables evaluate to the empty string
  on either side of the expression. This means they're safer. They also
  allow boolean && || expressions and as used elsewhere in the code
  regex matches.
- A few whitespace fixes.
Add link as alias to symlink. Update help for link and updates
Make 'link' command with no args symlink all castles
Fix readme a little
Make some parameters non-optional.
Also provide help when obligatory parameters aren't specified.
Remove the square brackets for obligatory parameters from the help menu.