Prevent timeout from throwing an exception

It seems cleaner that if the timeout is exceeded to just return an
empty typecheck results
Respond appropriately to a timeout in completions
Use an option type in case of timeouts
Merge pull request #399 from rneatherway/noexception

Prevent timeout from throwing an exception