Enhance/cloudformation getatt tags and resource naming

This PR provides five primary enhancements to CloudFormation:

  * Allow the use of [Fn::GetAtt](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/intrinsic-function-reference-getatt.html)
  * Allow the use of Fn::Join
  * Provide support for rendering Stack Outputs
  * Enhances CloudFormation to name resources by [Name Type] (http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-name.html) convention
  * Tag resources with base CloudFormation tags based on [AWS CloudFormation Resource Tags Type](http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-resource-tags.html) convention

It also fixes some tests that assumed that a resource would be named the same as the logical resource key.