Improve statement counting

- Make the counting of statements in iterators consistent: We now always count
  both the main iterator statement and each of the statements inside the block
- Correctly count statements in the else clause of a case statement. This was
  both not specced and broken
- Always consider lone nils to be statements
- Move generation of module name inside ModuleContext, making its interface more
  consistent with the other CodeContext classes
- Make specs more complete and clean
- Simplify implementation of CodeParser
- Update cukes to match improved statement counting