datasource/waagent: add support for WAAgent metadata
azure: add support for azure (via azure agent)
Merge pull request #246 from crawford/master

Add support for Azure
config/validate: add new config validator

This validator is still experimental and is going to need new rules in the
future. This lays out the general framework.
flags: add validate flag

This will allow the user to run a standalone validation.
script: move Script into config package
config: move user-data check into config package
ALEX: update Reporter interface and clean up validate.go

Still need to get rid of base rule.
add working parser
toNode can convert empty structures and populated structures
Renamed some stuff and now checkStructure works

There's an issue when parsing. The order of the map affects if the
line numbers are correct. Not sure how I'm going to fix this one.
Fixed parsing issue. Only discard the rest of the config when descending
into the recursion.
config: change AssertValid() to return ErrorValid structure
ALEX: rearrange report
Move tests into tests.go

Add checkUnits()
add bool to checkNode()
Swap out kind for embedded type