Handle folding of nested defs correctly
Make folding nested defs much faster
Fix edge case bug at end of top-level fold
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
Fix BlockStart when previous line is indented
Merge pull request #500 from wilywampa/nested_defs

Handle folding of nested defs correctly