Add naive method to invalidate nscd caches when databases change

TODO: Check whether system has nscd and whether it is running.
Also unit tests.

Fixes #47 but is currently rubbish, however this might annoy someone enough that they improve my code.
But if this method is called multiple times, isn't that going to output the same identical line multiple times too? I think it will quickly become unreadable noise and if I don't run nscd then it's redundant info--I know the component shouldn't be running nscd and so telling me everytime it runs is not useful.