template: interpolate builder name in ParseTemplate

i believe this fixes #858, though there may be a more elegant approach. 

the problem, as @jasonberanek noted, was that user variables contained in the Builder names are not resolved in `ParseTemplate`. this revision changes `ParseTemplate` to process the user variables in the `Name` field [before the value of that field is used as a key](https://github.com/strcrzy/packer/blob/81425d6b4d9086c56372415f45015bf78db9e7cb/packer/template.go#L246) to store the Builder in the `Builders` map, which `BuildOptions` uses to match against when enforcing `only` and `except` options.