Homestyx hydra

R1:6bff2cee22fc

Improve the performance of tab replacement in common cases

Summary:
See PHI1210. For certain large inputs, we spend more time than we need to replacing tabs with spaces. Add some fast paths:

- When a line only has tabs at the beginning of the line, we don't need to do as much work parsing the rest of the line.
- When a line has no unicode characters, we don't need to vectorize it to get the right result.

Test Plan:
- Added test coverage.
- Profiled this, got a ~60x performance increase on a 36…
Repository: R1 hydra
Commit Date: May 16 2019