Merge branch 'linux'

Linux and Windows support has been equalized.
Streaming Decoding

Added member functions to the Encoding class so that streams of bytes may be decoded into code points, either code point-by-code point, or en masse into a buffer of code points, without causing unexpected end errors (since the number of bytes extracted from a stream is random/variable and doesn't reflect the actual well-formedness of the underlying string).

Internally reimplemented Encoding::Decode in terms of these member functions.
Encoding::Size

Added the pure virtual Encoding::Size method, which allows polymorphic determination of the size of an encoding's code unit.
Makefile Cleanup

Removed a directive from the Windows makefile that was carried over from a previous project from which I stole the makefile as a template.
IsLineBreak

Added the IsLineBreak function to the boundaries.hpp header.  Checks to see if a mandatory line break (as opposed to a conditional line break or line break opportunity) occurs immediately before a specific location in a string.
Input Streams

Added overloads for operator >> for std::basic_istream objects for both String and CodePoint objects.  The overload for Strings extracts one line at a time, the overload for CodePoints extracts one code point at a time.  Neither overload ignores white space.  The overload for CodePoint will extract characters which cause line breaks, the overload for Strings will not.

As with all other utilities that interoperate with the C++ standard library, the encoding to use is chosen based on the width of the character type of the input stream.
CodePoint to Output Streams

Added an overload for operator << taking a std::basic_ostream and a CodePoint which outputs a single CodePoint -- properly encoded based on the width of the character type for the output stream -- to a stream.
Unit Tests Style Tweak

Removed extraneous white space from main.cpp.