Auto-wrapping for nsls2 library

~~In progress, don't merge  yet~~ I think this should be good for merging
This doesn't really need to be in an `else` as the except block just re-raises.  The `else` block on a try is useful when you _expect_ something to raise an exception and want to do something when it doesn't

```python

inp = ['1', '2', 'a', '3']
for i in inp:
    try:
        int(i)
    except ValueError:
        print("oops {} is not an int".format(i))
    else:
        print("huray {} is an int".format(i))

```