Separated out the common code in Pages and Items
requestHandler now uses promises
Added caching
Added a test to cover caching
Tweaked the max results and search timeout
Added a cache debug message
Removed console msg
Indicated api.request is private
Use the array of IDs in a none idiotic way.
Revert the default number of search results back to 5
Reverted timeout to 2s
Merge branch 'v3' into v3-request-management
Changed was wasCached to cacheHit
Merge pull request #45 from Financial-Times/v3-request-management

Add caching