More includes to avoid clang warnings
Add stringtools testcase without whitespace
More unit tests for stringtools
stringtools: change handling of whitespace

This should resolve an issue with libc++:
When std::ws was used at the end of a stream and no whitespace was
available, the failbit was set.

See also: http://stackoverflow.com/q/13423514/500098