(maint) reindent files to conform to arbitrary best practices.

protip: if you're using git blame and see this commit, use
`git blame -w` or :Gblame -w if you're using vim. Also, I'm sorry you're
using git blame and I regret any mistakes I may have made.

Ruby namespacing is entirely based on constants, which also define
module and class names so things get weird.

If you accidentally call `class Foo` in one place and `module Bar` in
another, your code will explode, so you don't necessarily want to
redeclare all your namespaces in each. Also, the level of indentation
that can arise from deep namespaces gets nuts, and if you don't indent
at each constant then that looks weird.

On the other hand, it's very easy to require files in the wrong order.
If you have files 'foo' and 'foo/bar' where 'foo' requires 'foo/bar' and
then defines `module Foo`, and 'foo/bar' defines `class Foo::Bar`, the
constant Foo won't be defined and your code will crashed.

Namespacing in Ruby sucks.

To solve this, this commit adds the following convention. Files that
implement a public interface should have all constants specified and
should require all files under that namespace, like so:

    module PEBuild
      module Unpack
        require 'pe_build/unpack/copy'
        require 'pe_build/unpack/tar'
        require 'pe_build/unpack/tar_gz'
      end
    end

Requires files should be formatted like so:

    require 'pe_build/unpack'

    class PEBuild::Unpack::TarGZ < PEBuild::Unpack
    end

All files being require should probably require their parent, but should
_not_ be directly required. Classes that depend on a sibling file should
rely on the parent to require it. This has the nice side effect of forcing
implementations to be astracted.