Make script easier to use and update documenation

1) Validate args and call usage() if needed
2) Make usage() exit script
3) Change some conditional statements to make logic obvious
4) Add comment about permissions needed by terminal program
5) Change `` to $(). Welcome to modern shell programming
6) Quote here documents to avoid possible problems with '"'
7) Change name of is_portal_open_now() to make intent clear
8) Make log messages UTC so matches can occur across time zones
I don't think this is correct.  The script should work OK with no arguments.