Added basic Exception Logging support.

Using the PSR/Log standard this update gives developers the ability to
pass a Logger object into a Pool object. The Pool object will
automatically pass it to Item objects. Additionally this update uses
that code to track exceptions that the Item object catches.
Moved responsibility for normalizing Keys to the Pool class, corrected errors and added test cases.
Added keystring to logger context on Item exceptions.
Added LoggerStub to test suite.

The LoggerStub makes it easier to run test cases against logging
objects, as it simply stores the log messages passed to it.
Added test cases to test existing logging calls.
Adding exception logging to the Pool class

This includes adding test cases.
Updated some coments in the Item class.
Merge pull request #93 from tedivm/logging

Adding support for the PSR/Log Standard
Shuffled the Exception Test Driver into the Stubs folder
Merge pull request #97 from tedivm/Test_Refactoring

Shuffled the Exception Test Driver into the Stubs folder
Moved the DriverInterface class into the Stash\Interfaces namespace.
Added Item and Pool interfaces
Added Driver Extension Interfaces

These interefaces can be used to add driver level support for features
the backend system supports. This way behavior that is emulated in
Stash can be offloaded to that (probably more efficient) sysem.
Updated Pool and Item references to point at the Interfaces, updated comments.
Merge pull request #98 from tedivm/InterfaceRefactoring

Interface Refactoring
Added additional badges to Readme.md.
Changed "extendCache()" to "extend($ttl = null)"
Merge pull request #99 from tedivm/ExtendTTL

Changed "extendCache()" to "extend($ttl = null)"
properly calling destructor so sqlite will release db file and allow tests to pass
Created tests to cover issue #61