[MRG] expression columns

As discussed in #65.

The branches list can contain expressions involving branches!

```
>>> from root_numpy.testdata import get_filepath
>>> from root_numpy import root2rec
>>> root2rec(get_filepath('test.root'), branches=['x', 'x*2', 'cos(x)*sin(y)'])
rec.array([(0.9989327192306519, 1.9978654384613037, -0.2279516988976791),
       (-0.030052771791815758, -0.060105543583631516, 0.7337164964206723),
       (-0.900875985622406, -1.801751971244812, -0.04634263080478663),
       (-0.4107631742954254, -0.8215263485908508, 0.9020691801607587),
       (-0.04894053936004639, -0.09788107872009277, -0.9907002133628496),
       (-1.3882976770401, -2.7765953540802, 0.12600006678933803),
...
       (0.7373048067092896, 1.474609613418579, -0.2778049786103804),
       (-0.7579719424247742, -1.5159438848495483, -0.7201442692224626),
       (0.21824628114700317, 0.43649256229400635, 0.27684917937754566),
       (0.18300467729568481, 0.36600935459136963, 0.7350520037523319),
       (-0.04993771016597748, -0.09987542033195496, -0.9745122724796665)], 
      dtype=[('x', '<f4'), ('x*2', '<f8'), ('cos(x)*sin(y)', '<f8')])
>>> 
```