adding signature to card, initial commit. this code fails.

In the test, I use setupAccount() utility function from test/account.js - the session is somehow undefined when passed into the Card constructor. Wtf?
A better pattern here would be something like this:

````
var fingerprintSignature;
var error;

try {
  signature = something()
} catch (e) {
  error = e;
}

if (error) {
  return callback(error);
}

callback(null, fingerprintSignature);
````

While avoiding a dubious return, it also uses callbacks. We should always use callbacks unless there is a good reason not to, even if the method is apparently synchronous. Mixing synchronous returns and callbacks will make the API become very confusing.