helper/schema: track map element counts

This adds "field.#" values to the state/diff with the element count of a
map. This fixes a major issue around not knowing when child elements are
computed when doing variable access of a computed map.

Example, if you have a schema like this:

    "foo": &Schema{
        Type:     TypeMap,
        Computed: true,
    }

And you access it like this in a resource:

    ${type.name.foo.computed-field}

Then Terraform will error that "field foo could not be found on resource
type.name". By adding that "foo.#" is computed, Terraform core will pick
up that it WILL exist, so its okay.
helper/schema: remove unnecessary code
Adding a small fix to the Same() func

This is a little tricky, but when a diff contains a computed list or
set that can only be interpolated after the apply command has created
the dependant resources, it could turn out that the result is actually
the same as the existing state which would remove the key from the diff
Merge pull request #681 from svanharmelen/f-core-fix-diffing-diffs

core: adding a small fix to the Same() func (diffing diffs)
Updating the tests and refactoring the code a little

There was an error in the goamz package the prevented updating the
availability zones correctly. So PR #181 should be merged before this
one can be merged…
terraform: module input to another module doesn't error [GH-659]
terraform: update comment
helper/schema: test pass from SvH
Merge pull request #678 from hashicorp/track-map-element-count

helper/schema: track map element counts
Merge pull request #682 from svanharmelen/f-provider/aws-fix-tests

provider/aws: updating the tests and refactoring the code a little
update CHANGELOG