add InstanceCache to reduce AWS API Calls

AWS.memoize does not do the job as it only does it per thread
Added an InstanceCache singleton to manage instances metadata with
timeouts