Extend the use of response files to cover the case when emcc invokes emscripten.py, so that Windows command line length limitations don't break the test_asm_pgo on Windows.
Fix typo.
Don't require response files to end with '.rsp'. Only autodelete response files that end with the suffix '.tmp'. Use the suffix '.tmp' for all internally utilized response files.
Remove the unwanted abstraction that callee is allowed to autodelete a response file after consuming it. Instead, manually track and delete response files by the caller and clean them up.
Remove duplicate line from rebase.
Supporting returning std::unique_ptr from C++ to javascript.
Exposing std::shared_ptr<T> to javascript.
Some simplifications and optimizations to smart pointer support
Fixing some tabs and removing some duplication in smart ptr embind.
Handle shared_ptr correctly.(keep underlying pointer point to the same address)

There was some global variable dependency. These bleed thru tests and affected test result. Adding a way to reset this state.
removed duplicate code / unnecessary code
Some minor generated code size reductions.
Fix several ownership/lifetime bugs in argument wire types
Add the ability to extend the prototype of native classes from JavaScript.
Add validation that prevents registering the same type multiple times (either by name or type ID)
There can be an empty shared ptr. It is totally valid.
Checkpoint work towards exposing call policies for raw pointers.
Class static methods were downright broken.
Kill some duplication
jshint