Reorganized code and added --force feature

I recently found this repo and was exactly what I needed. Quick to set up, and worked great. Throughout testing its use, I quickly found I needed the **--force** feature of the CLI that was missing. I added that, and then found my OCD took over and I reorganized a lot of the script to make the use of **--force** easier to understand for me.

Overall, here are the main things I changed:
 - Broke out some commonly used code into functions
 - Added ability to use **--force** as CLI option for the start/stop actions of the app
 - Made use of `$()` consistent
 - Made use of double quotes consistent (no more single quotes)
 - Added double quotes in more places, including when using variables
 - More/better logging (output)
 - More/better checking for app running - I tried to catch every scenario and act accordingly, even based on the **--force** option

The one thing I didn't do was update the README, because I feel like the **Install** section could be broken up to explain the use of the script, and separately explain all the variables in the script. And then obviously, there needs to be an explanation of the **--force** option, as well as removal of the **Gotcha** section. I'd be happy to do all this, I just wanted approval of this script change before I spent time on the README.