Update to support more regions

Relates https://github.com/hashicorp/terraform/issues/524
Added `eu-central-1`, `cn-north-1` and `us-gove-west-1`(hi NSA)
I checked `goamz`, @mitchellh already has added support for those regions
Do not read temporary editor files, fixes #548

This fixes a bug where Terraform would error with the following:

```
Error loading config: Error reading
/Users/rhenrichs/work/example/.#example.tf: open
/Users/rhenrichs/work/example/.#example.tf: no such file or directory
```

The solution implemented here ignores the common emacs and vim
temporary file formats.

Note: the potential danger with merging this is that Terraform could
quickly have requests to ignore other file formats.
Fixing up the tests so they actually pass

Running the tests without these changes results in this error first:

```
--- FAIL: TestAccAWSNetworkAclsOnlyIngressRulesChange (24.92 seconds)
  testing.go:121: Step 0 error: Check failed: Invalid number of ingress
entries found; count = %!s(int=3)
FAIL
exit status 1
FAIL  github.com/hashicorp/terraform/builtin/providers/aws  24.974s
```

And after fixing that one you also get a few unexpected values due to
an expected order mismatch between the items in the set versus the
items in the config.

Those are also fixed, so the test is passing now.
Merge pull request #660 from svanharmelen/f-fix-aws-network-acl

Fixing up the tests so they actually pass
Fixing a small logic bug in diffList

It’s not enough to only check if no new value is set. It can also be
that a new value is set, but contains a variable that cannot be
interpolated until a depending resource is created during the apply
fase.

I actually found this one as one of the acceptance tests for the AWS
ELB resource was failing. It failed with the following error:

```
--- FAIL: TestAccAWSELB_InstanceAttaching (177.83 seconds)
  testing.go:121: Step 1 error: Error applying: aws_elb.bar: diffs
didn't match during apply. This is a bug with the resource provider,
please report a bug.
FAIL
exit status 1
FAIL  github.com/hashicorp/terraform/builtin/providers/aws  177.882s
```

After a quick look I noticed it was actually a bug in core TF so added
the test and made sure all unit tests and AWS acceptance tests are now
running successfully.
Merge pull request #661 from svanharmelen/f-fix-difflist-logic-error

core: fixing a small logic bug in diffList
core: fixing new test

Removed the ‘hashcode’ function so we didn’t need to import it here,
but also removed the needed type assertion.
Merge pull request #662 from svanharmelen/master

core: fixing new test
core: refactoring the way sets work internally v2

This is a refactored solution for PR #616. Functionally this is still
the same change, but it’s implemented a lot cleaner with less code and
less changes to existing parts of TF.
Fix for #664, crashed due to ig.Attachements being 0
Usage info for graph command was actually that of output
provider/aws: fixing the aws_internet_gateway resource

The resource is build so it can attach and detach the Internet Gateway
from a VPC, but as the schema has `Required` and `ForceNew` both set
to `true` for the vpc_id field it will never use these capabilities.
Small gofmt update...
Merge pull request #667 from svanharmelen/f-fix-schema-aws-internet-gateway

provider/aws: fixing the aws_internet_gateway resource
Setting the VPC id to blank for unattached igws
Merge pull request #666 from donjohnson/patch-1

Usage info for graph command was actually that of output
Merge pull request #665 from gosuri/master

Fix for #664, crashed due to ig.Attachements being 0
Heroku SSL certificate support added
Heroku SSL support: fixes after code review of @svanharmelen
Making all function names consistent

Before all providers were using the helper.Schema approach the helper
function had these names. Now they all use names consistent with the Go
naming conventions except for these last few…