pub fn read_password_with_reader<T>(source: Option<&mut T>) -> Result<String> where T: BufRead,
Reads a password from anything that implements BufRead