changed module xml to have separate path, lib and agent (constructor) tags. Created AgentSpec class for dealing with these pieces