A star module

@bballtwenty8 @noahdela 

I have implemented or rather taken an existing a star implementation from:
www.redblobgames.com/pathfinding/a-star/implementation.html

Also, I have put some stuff in component.py in util where I use the enviroment_state to store the state of all the components in the system. Whereas the truck and dumpster objects act as an intermediate data structure helping in parsing to the a star search.

I am yet to work on the heuristics which I have not started, though it runs some existing heuristics.

Also, I had to change iDumpster to include "type", updated location as a dict rather than a string, Added json encoder for enum data type.

I know it is a very bad coding. But, I am totally open for any levels of criticisms :)

Thanks,
Can you explain the reasoning for using two dicts here instead of just treating all the values in the dict as named variables (self.name, self.level, self.location, etc)?

This is fine I just want to understand what led you to make the design decision.  Was it just that getInfo can be a simple function?