Additional validation for container volumes and ports.


* Resolves #260 - Support ro mode for volumes
* Resolves #301 - Support `~` for home directors
* Fixes a bug with `get_tty_width()` (needs to be an int, not a string, it's an error in python3, and does the wrong thing in python2)
* add to docs about using ro/rw with volumes

Yes, I'm happy to make some changes here. I think in order to validate the string properly, we still need to make it a list, but additional local variables I can add.