Update JWT auth client with impersonation support

This patch upgrades the **gapitoken** library to newest version which adds support for the "sub" attribute in JWT authorisation header which is necessary to perform impersonation.

**Notes:**

 - This is a backwards-incompatible change due to changed JWT constructor's parameters
 - I have relaxed the package requirement to allow patch updates on the **gapitoken** library (`~0.1.2`)
 - I have expanded the jwt example substantially to provide more details about its usage
 - The test `OAuth2 client::should fail due to invalid signature` is failing on my local machine with:
   `140735301337872:error:0906D06C:PEM routines:PEM_read_bio:no start line:../deps/openssl/openssl/crypto/pem/pem_lib.c:703:Expecting: ANY PRIVATE KEY`
   (Error: SignFinal error)

I hope I have not forgotten anything. Let me know if any updates are necessary before merge.