first round of splitting code into separate files
start & stop also moved to lib/ec2.js + minor style changes
cool new way to create the core API object