Install newer boost version for travis checks.
Fix travis command line.
Revert "Fix travis command line."

This reverts commit 47b742e7932b4a80d369e1c490d240eb77cbccba.
Revert "Install newer boost version for travis checks."

This reverts commit c9e4e35ecd1513ba2a28434a5ac03176a8041089.
Fix failing test case on older systems.

std::minmax returns references and this makes problems in this case.
Fix link to project page and some README fixes.
Remove whitespace and end of lines.
Fix formatting.
Improved ProblemReporter

Because all problems are related to an object we are currently assembling into
an area, the problem reporter will get the type and ID of the object once and
can then re-use it. This reduces code duplication.
Also in this commit the ProblemReporterException uses functionality of the
ProblemReporterStream class and the ProblemReporterStream class was simplified,
all to allow more code reuse.
Move find_intersections() function from Assembler into SegmentList.
Simplify find_intersection() function.
Make Objects and Changesets totally ordered. Add tests.

Also fixes bug where Changesets where seen as open/closed when they were
closed/open.
UndirectedSegment is really totally ordered.

It derives from Segment which has operator==().
Rename stage2() function to create_rings() and make private.
Use emplace_back where possible and use it correctly.

emplace_back() takes a variable number of arguments to create an
object from not an object itself.
Rename functions for consistency.

first_segment()     -> get_segment_front()
last_segment()      -> get_segment_back()
add_segment_start() -> add_segment_front()
add_segment_end()   -> add_segment_back()

This is now internally more consistent and also consistent to the
front() and back() names used in STL collections.
More emplace corrections.
Refactoring of has_closed_subring_*() functions.
Refactor combine_rings() function.
Renaming of some functions.