Change getThumbUrl parameters [BREAKING CHANGE]

This change addresses a suggestion by @hakubo and @rogatty to pass in
an options map for the getThumbUrl method. This is a breaking change
and will require developers to change their syntax for the new version.

This commit also cleans up some whitespace and syntax issues, including
changing JSDoc param types to be strictly JS types.

I think there is also something like`
`@throws`