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