tokenize をiterator 対応

中で呼ばれている関数はまだ対応していない。
singleline_comment とcomment を対応
multiline_comment を対応
match_type を対応
symbol を対応
identifier を対応
decimal_integer を対応
string_token を対応
ignore を対応
extract_string を対応
tokenize のシグネチャを、最後まで食べたかどうか判るようにTokenVector からstd::tuple<bool, TokenVector> へと変更
lexer のシグネチャ変更に伴い、test のコードを修正
失敗チェックができるようになったので、テストを追加
12345abcde をtokenize するtest

ref: https://github.com/kmc-jp/Klang/pull/57#issuecomment-57607078
std::istreambuf_iterator<char> をusing
長過ぎる行に改行を加えた
Merge pull request #78 from kmc-jp/with_iterator

イテレータを使ってtokenize するように変更
Merge pull request #82 from kmc-jp/tupled_lexer

tokenize のシグネチャを変更
Merge pull request #83 from kmc-jp/test_lexer_check

Test lexer check
Merge pull request #84 from kmc-jp/test_lexer_12345abcde

12345abcde をtokenize するテスト