implemented completions for ~ paths - issue #22
fixed bug: wasn't setting flags on the command in the shell state
refactor all script execution into Plush.Run.Script
removed barely used utilities out of Run.hs

finally got to rename the horribly named function 'shellExec' to the more sensible 'execute'
added login concept to Main

added missing function to return raw argv[0]
added --login flag
added test for "-" at start of argv[0] to imply login
start-up scripts
add check for real and effective uid/gid match before running ENV script
default profile and env scripts

Create the ~/.plush directory, and profile and env scripts within it on login, if absent
added writeAllFile utility, and instances of PosixInStr and PosixOutStr for strict ByteString
bonus: use PS1 on command line