Force `Kernel#open` to always return a `Tempfile`

This works around the fact that the OpenURI-provided `Kernel#open`
returns a `StringIO` OR a `Tempfile` instances depending on the size of
the data being downloaded. In the case of Omnibus we always want a
`Tempfile`.

Fixes #381
Merge pull request #399 from opscode/schisamo/open-uri-tempfile

Force `Kernel#open` to always return a `Tempfile`
[DEB] Replace invalid characters with underscores

The previous replacement character, dashes, hold special significance in 
the Debian package spec.
[DEB] replace dashes (-) to tildes (~) in version

Dashes hold special significance in the Debian package versions. Versions
that contain a dash and should be considered an earlier version (e.g.
pre-releases) may actually be ordered as later (e.g. 12.0.0-rc.6 >
12.0.0). We'll work around this by replacing dashes with tildes.

Fixes #396