make checking for user ignore better

Now ignore.yml is checked upon initialisation of a new User object, and
then the value cached so that we don't do a lot of file IO