add lti 1.2 variable substitutions

Test Plan
 - Add a tool with the following custom variables
   * $User.id, $Canvas.user.id, $User.username, $Canvas.user.loginId
 - Do a launch
 - Verify that $User.id is substituted and matches $Canvas.user.id
 - Verify that $User.username is substituted and matches $Canvas.user.loginId

fixes PLAT-670

Change-Id: I2cefdc8fc775c1bb3b979c5a230429b5f2f4a841
Reviewed-on: https://gerrit.instructure.com/42220
Reviewed-by: Bracken Mosbacker <bracken@instructure.com>
Product-Review: Bracken Mosbacker <bracken@instructure.com>
Tested-by: Jenkins <jenkins@instructure.com>
QA-Review: August Thornton <august@instructure.com>