Add simulate initial login flag to sudo()

Allow `sudo -i` to be run with the `sudo` method by setting the `initial_login` flag.

This flag is useful when the .profile or other resource files need to be read by the shell before executing commands.

I attempted to write tests, but given this is the first time I've written tests for Python, I'm not sure that they work as intended.