Add support for certificate based confidential client auth.  acquireTokenWithClientCertificate

I don't think that the ClientAssertionCertificate class makes sense in Node.  There is only one kind of certificate in Node and that is a PEM file.  There is no need to create the cert differently on different platforms.

I can get to the version that accepts an already generated assertion later.  I don't think we need to block this update on that particular version.

In general, Node is much lighter weight than C#, and generally doesn't involve a whole lot of classes.  Since there is no static type checking it doesn't make as much sense to have a bunch of classes.  In node strings are acceptable.  I believe that it would be unnatural in node to force the developer to deal with a bunch of other classes.