Add #[jstraceable] syntax extension
Handle null strings in Namespace::new.

This also avoids a string copy in the rare case of an unrecognized namespace.
Add untraceable! macro
Use JSTraceable everywhere
Update docs
Address review comments
Merge pull request #3465 from Ms2ger/ns

Handle null strings in Namespace::new.
Merge pull request #3468 from Manishearth/jstraceable

Replace our usage our Encodable with JSTraceable; r=jdm