(CFACT-91) Restore execution parsing performance

Restores performance with respect to heap allocations of execution
result parsing. Also removes unnecessary copies in scoped_env.
(CFACT-91) Use boost::split_iterator instead of split

Use split_iterator instead of split to avoid creating a vector of ranges
when all we need is the range we're processing at that moment.