Lesson毎の差異は enum LessonType クラスで吸収する

http://natashatherobot.com/swift-enums-tableviews/ を参考にして、tableView に表示する Item を ` enum LessonType` で 管理するようにした。

あわせて、`LessonType` を用いることで Controller 内のロジックから 正しいLesson を取得するための条件分岐を排除した。
こういう書き方で実装すべきメソッドを定義していると、必要なメソッドを定義していないことにビルド時に気付けないと思うので、protocol に変えたほうがよいと思うのでメモ :memo: 

別のプルリクでチャレンジする