Only create empty attrs when accessed

This a small optimization, but it takes about 10us to create an
empty OrderedDict. This is about 15% of the time required for
accessing an element from Dataset and almost half the time required
to create a new Variable:

    >>> %timeit xray.Variable([], 1)
    100000 loops, best of 3: 12.6 µs per loop

    >>> %timeit xray.Variable([], 1, attrs={}) # triggers the old path
    10000 loops, best of 3: 25.5 µs per loop