command/init: test for issue 518
support associate_public_ip_address for aws_launch_configuration
config/module: don't walk dst when dst is in src

Fixes #518
Make Routes in RouteTable optional

Otherwise it is impossible to get simple configurations with the
"default" routing table, which is only the "local" route.

The following contents of main.tf expose the bug, and boots an instance
fine after this patch is applied:

    variable aws_access_key {}
    variable aws_secret_key {}
    variable aws_ubuntu_ami {}

    provider "aws" {
        access_key = "${var.aws_access_key}"
        secret_key = "${var.aws_secret_key}"
        region = "us-east-1"
    }

    resource "aws_vpc" "default" {
        cidr_block = "10.0.0.0/20"
    }

    resource "aws_route_table" "private" {
        vpc_id = "${aws_vpc.default.id}"
        # Note the lack of "route" sub-key here.
    }

    resource "aws_subnet" "private" {
        vpc_id = "${aws_vpc.default.id}"
        cidr_block = "10.0.1.0/24"
    }

    resource "aws_route_table_association" "private" {
        subnet_id = "${aws_subnet.private.id}"
        route_table_id = "${aws_route_table.private.id}"
    }

    # Demonstrate an instance can be booted fine in this fashion.
    resource "aws_instance" "sample" {
        ami = "${var.aws_ubuntu_ami}"
        instance_type = "t2.micro"
        subnet_id = "${aws_subnet.private.id}"
    }

terraform.tfvars for completeness:

    aws_access_key = "..."
    aws_secret_key = "..."

    # A public Trusty AMI
    aws_ubuntu_ami = "ami-9aaa1cf2"
providers/google: update schema to use a DefaultFunc

This makes testing easier and gives you a way to configure the provider
using env variables. It also makes the provider more inline following
the TF 0.2 approach.
Refactoring the resourceInstanceTags func just a little

My eye caught this somewhat un-logic mixed use of ‘vs’ and
‘v.(*schema.Set)’, so thought to make it a little cleaner…
Fixing the acc tests

I do wonder when these tests where last run successfully… Must be quite
some time ago considering what I needed to fix in here :wink:
A really small update fixing a cosmetic inconsistentie

For the OCD types among us, this inconsistentie (only location where
droplet is spelled with a capital) drives me mad
:stuck_out_tongue_closed_eyes:
Merge pull request #587 from svanharmelen/f-update-digitalocean-provider

Really small update fixing a cosmetic inconsistentie
Merge pull request #586 from svanharmelen/f-update-google-provider

Fix acc tests and updated the provider schema to use a DefaultFunc
Merge pull request #585 from fdr/routes-optional

Make Routes in RouteTable optional
command/init: use a more semantic name to identiy the test routine for issue 518
Merge pull request #547 from ceh/issue-518

Fix issue 518
Update output.html.markdown
Merge pull request #590 from davedash/patch-1

Fix typo in output.html.markdown
Refactored about 90%

Still need to update 2 resources and check the acceptance tests, but
overall we’re nearly there :smiley:
terraform: Add dependencies field to modules
terraform: restore dependencies for orphan modules
terraform: initialize and attach module state
terraform: encode module dependencies