Feature/is simple

First complement implementation of is_valid/is_simple for all geometries.
Ok, it's probably because the std::set is used. The sorting is done using only the m_is_ip and m_turn_point. Instead of std::set, std::map should probably be used, and neighbor_iterator should be a mutable iterator. Then there would be no problems with const-correctness.