SSO Canada: registration

#### What's this PR do?
- Utilizes Canada SSO registration in `dosomething_canada` module
- Improves and extends Canada integration tests

#### How should this be manually tested?
- Enable and setup Dosomething Canada module
- Run `ds test canada`  
![image](https://cloud.githubusercontent.com/assets/672669/4722067/4394db34-593d-11e4-8fb3-a7f1ffd0321e.png)

#### What are the relevant tickets?
- Part of [#DS-379](https://jira.dosomething.org/browse/DS-379): Move functionality common to UK and Canada to the new nodule
- #3176: Canada SSO: adapt login to common flow provided in external_auth
- #3174: UK SSO: adapt login/signup to common flow provided in external_auth
- dosomething/drupal-external-auth#2

### Known integration issues
Users created not able to login at http://www.tigweb.org/:
- [ ] The User can only restore its own username (which is not same as email) using [TIG Recover Username] (https://www.tigweb.org/members/retrieve.html) form. The user will receive email like the following, but it's still not possible to log in using the username and its original password. We think the issue could be in the dash sign in `ds-sergiitest5dosomethingorg`
  ![image](https://cloud.githubusercontent.com/assets/672669/4722195/403dd94e-593e-11e4-9189-ce44fd48dbaa.png)
- [ ] It's not possible to recover password on TIG using both recovered username and original email
- [ ] It's not possible to login on TIG using both recovered username and original email