Fix more corner cases

- Fix folding of code between two defs nested under the same def
- Don't search for lines other than def or class in BlockStart because
  only def and class can contain nested folds
- Fix pattern used to find next_def
- Fix case where last_block_end is not followed by a blank line
Add file length limit for checking for nested folds