File improvements

This PR adds more ways to write and get things from Files:

```python
# Get() and Write() with getitem and setitem
myfile['name'] = thing
thing = myfile['name']
# the following setattr actually Write()s the thing in the file if it is a TObject:
myfile.something = thing
thing = myfile.something
# for non-TObjects setattr retains the original behaviour
myfile.something = 42
```