SecurityContext unit tests

Added:
* security_context_user_spec.js to verify logging in and logging out user data handling
* auth_api_spec.js to verify that the underlying Auth interface is called correctly
* session_length_spec.js to verify that the user is stored and expired from Local Storage
I think we can push these conditionals down a bit and remove a lot of the `deferred.resolve(null);`

```javascript
if (activeSession()) { // not sure what the conditional represent, just a guess
  deferred.resolve({ ContactId: "abc123" });
} else {
  deferred.resolve(null);
}
```

This also leaves me wondering if the promise should be rejecting instead of resolving with null?