Provide dependencies via constructor and injection.

Dependencies of objects are now provided via constructor or setter injection.
This decouples the implementations from specific angular modules. The
PasswordService has got three new functions setEncryptionService,
setPersistenceService and setPasswordLength, which are used to inject the
dependencies. The module defining the PasswordService does not depend anymore on
the modules passio.rest, passio.encryption and passio.config. The RestService is
now an instantiable class. The backend to use can be configured with the
constructor parameter backendUrl. The passio.rest module does not depend anymore
on the passio.config module. The EncryptionService now takes the number of
PBKDF2 iterations to use when creating the authorization token as a contructor
argument and does not depend anymore on the passio.config module.

The new module passio.factories defines the PasswordServiceFactory, which is
used to create a password service using an username and password. This factory
takes care of injecting and configuring the dependencies.

The unit tests have been modified to take advantage of the changes and inject
mocked dependencies directly instead of overwriting angular modules.