1. Added time to live functionality
2. Added option of partial cache init on reset to reduce traffic for controllers that can preserve RAM over power cycle/reset.
3. Can now put new entries in the cache even if it is full - entry nearest to expiry is dropped to make room.
1. Added support for building address binding list for device object
2. Changed table traversal code to use pointers instead of array indexes as this produces much more efficient code on many smaller processors where multiplication is expensive
3. fixed issue where binding requests can be overwritten by first I AM that comes along.
4. Converted multiple state variables in cache entries to single flag bitmap.