add unwatched directories and notebooks, with an exception for documentation notebooks
reimplement Metadata.__add__

using the following test case, the new version runs in ~15% the time

    def perf_add(cls):
        data = {}
        for k in "abcdefghijk":
            data[k] = list(range(1000))
        M = cls(data)
        for i in range(1000):
            _ = M + M
        return M