WebClient supporting cookies, base class for exceptions

Default WebClient does not support cookies so I often end up creating my
own implementation. This one does support cookies (but not javascript -
if you required that support have a look and Cef wrappers for .NET
and/or Awesomium).

Provided base class for all exceptions used in the solution (simple
consistency won't hurt anybody)