depend on TokenInterface instead of UsernamePasswordToken
check for empty users in TokenInterface

As `TokenInterface::getUser` may return `null` (specially `AnonymousToken::getUser` will do that)
extract `getCustomerFromToken`
unit-test User\CustomerWrapper
add behat-like scenario phpdocs to test
Merge pull request #348 from elcodi/fix/customer-wrapper

Extend `CustomerWrapper` support for `TokenInterface`