Created interfaces for all entities

Extending AuthorizationServer

Initial commit of entityFactory

Use SessionInterface

Use interfaces

Use entity factory in AuthCodeGrant

Added unitTest for entityFactory

Add unit tests

Refactored entityFactory

Added FactoryInterface

Use entity factory in ClientCredentialsGrant

Removed unused code

Use entity factory in PasswordGrant

Close mockery

Added unittests

Update DefaultAlgorithm.php

Prevent edge-case whereby, if the majority of `base64_encode($bytes)` consists of `/` or `+` characters, the resulting key will be shorter and less unpredictable (due to a smaller keyspace) than anticipated.

As a result, the `$len * 2` hack has been removed. Although it is highly probable that `$len * 2` will stop most edge cases from occurring, it does not actually guarantee the end result will be at least 40 characters long.

Added id_token to Bearer token, modified unittest to reflect the changes

Removed useless file

Removed useless unittest

Fix API CS.

The `create` method returns void.

Fix API CS.

Use EntityFactory in examples

Removed references to entities and using Interfaces

Don't reference entities in storages, but use their interfaces

Replaced last couple of references to entities and replaced them with references to the proper interfaces

Minor fixes to interfaces

CS fixes

Fixed example API hasScope reference

Fixed tokeninfo

Fix bad accesses and bad arguments.

Removed an extra new line

Fixed examples to use entity interfaces

Fixed phpdocs

Adding coverage to ghpages

Fixes for .travis.yml

Fixed phpdoc

Prevent duplicate session in auth code grant

The session already exists in the database, so we don't need to save it again. Doing so results in the session used for the auth code hanging around in the database with nothing associated to it, while the access token is associated to a new session caused by the `save()` method creating a duplicate. Fixes #266.

Version bump

Changed "paremter" to "parameter"

Fix column declarations and references so that foreign keys and references work.

Update init.php

Removed unused imports, fixed phpdoc

Don't use FQN, but rather import it. Use an alias because of the naming clash with the storage interface.

Removed some more FQN's and imported the namespaces with an alias

Removed whitespace