Refactor parse_smiles(...) to throw exception

Throw a Smiley::Exception containing detailed message
so caller can chose what to do with it, rather than
simply writing to std::cerr.
Add ability to limit search results using limit parameter

Limit the number of search results returned. Use a default
of 100. The URL parameter of "limit" can be used to specify
a value.