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.
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.
core: fixing new test

Removed the ‘hashcode’ function so we didn’t need to import it here,
but also removed the needed type assertion.
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...
Setting the VPC id to blank for unattached igws
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…
website: Add link to heroku_cert in the docs
Fixed a type and reordered the case statements

Making in more inline with the existing code…
Looking at issue #639 this seems to be the root cause

After fixing this part, there also needs to be made a change to the
example given or the schema of aws_elb.
update CHANGELOG
up version for dev
Fixing the flipflop problem

Actually meant as a PoC, but it works perfectly so let’s just merge
this…