Fix for within() - ticket https://svn.boost.org/trac/boost/ticket/9628

The side is calculated always WRT the vertical segment if the p<1> is "equal" to one of the segment endpoint's <1>.
For more information see the comment in the code.
I did it this way to copy other coordinates for dimension > 2. But since the currently implemented side-strategies only use the coordinates for D=0 and 1 indeed the Point may be created using default ctor and set() may be used to set them. However IMHO the default-ctor is more problematic than the copy-ctor. The most straightforward way I see is to use default-constructed model::point<>. Are you ok with this?

Regarding the Point concept/requirements, the default ctor as a requirement is more troublesome. It's more common that the default ctor is private/deleted than that the class is not copy-constructible. And I think that currently various algorithms requires both, copy-constructible AND default-constructuble Points. However I'm not sure about it. I thought about checking/handling this issue. The first step would be using in the tests classes closely following the Concepts, not our models which allows to do a lot more than it's required. But it's not related with this PR.