SI-7356 - Source.mkString performs painfully slow (...)

1. Wrote a custom mkString for BufferedSource.

2. Moved the logic for rescuing the iterator-buffered char out of
BufferedLineIterator and into a private method in BufferedSource.

Speed test based on the one in the issue tracker (but written correctly)
indicates that performance is equal or better to getLines.  This resolves
SI-7356 in a minimal fashion.
Merge pull request #2929 from Ichoran/issue/7356

SI-7356 - Source.mkString performs painfully slow (...)