added methods to pull tenant form cache and to validate that a process_name is an event_producer 

* also includes all unit tests

load_tenant_from_dict():
Breaks out code that loads an entire tenant object from a dictionary

find_tenant_in_cache():
finds a tenant in the cache with the ID as the key, and returns a tenant object

find_event_producer_for_host():
takes a process name and validates the following:
 the process_name is a valid event producer for the tenant
the event_producer belongs to the host's profile