Add vector constructors to Single Readers

Only a single element is allowed - otherwise a SingleInputException is thrown.

Resolves #159
exceptions should have a home. If we want to make new exceptions (i.e. if the `std::exception` ones won't do) we should create a gamgee/exceptions.h so people can use it to catch in their programs.