Strip ast.fix_missing_locations

Approximately half of the time was spent within this function. Now
performance is improved by a factor 2 - at least while profiling.
Move most of the computation time into the constructor

This is bad if not decorating an object at all, but nice if decorating
multiple times. Alternatively, we could use @cachedproperty.