sat::Erase: Fix the bug that it destroys passed elements.
Add sat::Erase which is passed a container.
Fix the bug that sat::Map was noexcept.
Add sat::Map which is passed a container.
Change sat::Erase to be able to apply to an array.
Merge branch 'fix_basic_occurrence_list_functions' into dev
Change clause_list_t to std::list.

 SAT solvers and its preprocessor will add lemmas while solving a SAT instance.
A clause list will be changed by solvers frequently, so that std::list is
more suitable than std::vector.
 And furthermore, clauses will be maintained by an occurrence list, so that
alignment is not required for clause container type.
Rename in a Google style.
Change basic_occurrence_list_t maker to fill value in advance.

To avoid accessing not contained value.
Remove an unnecessary unit test.
Address an unit test for sat::MakeBasicOccurrenceList.
Merge branch 'fill_occurrence_list' into dev
Merge branch 'dev'