Abstract Agent Added

Added common variables, and functions to abstract class to be inherited
by agent types.