Added --silent-overwrite flag

Fixes #1 - The bheaviour for returning non-zero exit codes is now standard but can be overwritten with the new ``--silent-overwrite`` flag
d66aac1 - it looks a lot cleaner now, it all seems very "magic" though :)