Various optimisations to Stem

Various optimisations to stem to make stem.descriptor.parse_file() faster.

Individual patches attached.

Things learned from doing this:

  • cProfile and line_profiler are cool tools used together.
  • One should compile regexp outside of functions and loops.
  • isinstanceof() is slow. Maybe trust later functions to do the right thing(TM) and catch exception when type is wrong
  • Boringly Python's datetime.datetime.strptime() is slow. Replaced with regexp.

Trac:
Username: oherrala