Validation optimisations are in.

`ogonek::always_validated<ogonek::text>::value` is now true, and
`ogonek::detail::as_code_point_range` takes advantage of that. Beware
that `as_code_point_range` is a dangerous forwarding functions (namely
`auto&& x = as_code_point_range(<temporary>);` is broken.
Refactored SConstruct

Now stuff is separated between config and behaviour
Version info
Decoding ranges are now marked as validated
Moved encode/decode out of encodings
Separated encoding schemes out to their headers.