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
Change implement of basic_occurrence_list_t to std::vector for performance.
Remove noexcept from sat::MakeBasicOccurrenceList.
Add catching an exception which is not derived from std::exception.
Add sat::MakeBasicOccurrenceList for a container.
Change sat::Map to use sat::occurrence_map_t.
Add sat::MapSymmetric.

This commit adds sat::MapSymmetric for performance. It is for algorithm which
needs both removing and mapping.
Format in Google-style.
Add inline to sat::MapSymmetric.