Scan API change and support for descriptions on scans.

The /scan API endpoint has changed its expected payload for a new scan
from the documentation. It now accepts a `custom_targets` parameter (vs
`target`) and a `name` parameter instead of `scan_name`. This commit
reflects both of those change.

In addition, it adds support for the `description` field, which is
optional.

Finally, the response from the scan endpoint is now different if there
is an error. This commit restructures the inspection of the response to
reflect those changes.

You can see the above changes in the following gist: https://gist.github.com/jakedavis/a81af51a93eebad845df.