RFC-3986 support

This is a proposed change to share.js - my apologies for messing up the commit, never used the github.com interface before.

Added support for various characters being passed in the Config params. If a user currently tries to pass in a description or a title with any of the following characters - it will result in URI malformed error: % | ! | ' | ( | ) | *

Also fixed some heuristically unreachable code that was checking for typeof === 'integer' which doesn't exist, use typeof === 'number' instead.