cache: add the cache constructor
test: [cache] add tests for cache constructor
test: resume running all tests
pgk: [breeze-queue] update to 0.3.x
cache: store settings on self
codecs: [gateway.response] add gateway response codec
test: [cache] increase test delays for more leighway
errors: add GatewayNotificationError for apn response errors
code: [gateway response] change status to code.
message: [device] if no args, return device
test: [cache] increase fuzziness of timing
agent: [all] implement cache mechanism

cache mechanism facilitates retrying messages that
occur after apple sends an error and disconnects

- implement cache
- upgrade queue to breeze-queue@0.3.0
- queueIterate is not _queueIterator (suggested private)
- clean up connect callback hierarchy
examples: [error.mitigation] refactor to handle different situations
agent: [mock] fix reference errors
Merge branch 'feature/cache'

* feature/cache:
  agent: [mock] fix reference errors
  examples: [error.mitigation] refactor to handle different situations
  agent: [all] implement cache mechanism
  test: [cache] increase fuzziness of timing
  message: [device] if no args, return device
  code: [gateway response] change status to code.
  errors: add GatewayNotificationError for apn response errors
  test: [cache] increase test delays for more leighway
  codecs: [gateway.response] add gateway response codec
  cache: store settings on self
  pgk: [breeze-queue] update to 0.3.x
  test: resume running all tests
  test: [cache] add tests for cache constructor
  cache: add the cache constructor