Facet ページの結果をタブ化した

なるべくプラガブルに各タブ毎に異なる SPARQL検索、表示項目を出来る仕組みを準備し、
Gene, Organism, Environment のタブを用意しました。

新しい タブを用意するにあたり、

以下のファイルを作成し、
- app/controllers/report_type/`<report_type>`_controller.rb
  - `ReportType::BaseController` を継承する
- app/views/report_type/`<report_type>`/_results.html.haml
  - `<report_type>`.js.coffee (※) を読み、表示するテーブルのヘッダーを記述する
- app/views/report_type/`<report_type>`/search.csv.csvbuilder
  - CSV 出力に関する記述をおこなう
- app/views/report_type/`<report_type>`/search.json.jbuilder
  - テーブル 出力に利用するJSONを記述する
- app/assets/javascripts/results_table/`<report_type>`.js.coffee (※)
  - jQuery DataTable の初期化と利用するカラム名の定義、リクエスト先などを指定する
- app/models/report_type/`<report_type>`.rb
  - `ReportType::Base` を継承して、表示するために必要な SPARQL などを呼び出す


以下を編集すると使えます
- app/views/root/index.html.haml
- config/routes.rb
- app/models/report_type/sparql_builder.rb
  - Facet から得られた情報を元に SPARQL文を組み建てる
initialize はシンプルにしておいて、引数の変換なんかはファクトリメソッドを用意してあげるとよさそうかな。
分岐とかし始めると辛い。