Add option --prevew-archive to `knife cookbook site share`

Hi,
I would like to preview my cookbook tarball before upload to supermarket.

Usage: `knife cookbook site share prevew-archive`

```shell
$ knife cookbook site share fluentd_bundle 'Applications' -u sawanoboly -k mykey.pem  --prevew-archive
Generating metadata for cookbook from /path_to_tmpdir/fluentd_bundle/metadata.rb
Making tarball fluentd_bundle.tgz
WARNING: These files will upload to supermarket. Be careful.
fluentd_bundle/
fluentd_bundle/.gitignore
fluentd_bundle/.kitchen.yml
fluentd_bundle/attributes/
fluentd_bundle/Berksfile
fluentd_bundle/Berksfile.lock
fluentd_bundle/CHANGELOG.md
...
```

Result of rspec unit test is here.

```
Chef::Knife::CookbookSiteShare
  run
    should should print usage and exit when given no arguments
    should print usage and exit when given only 1 argument
Making tarball cookbook_name.tgz
Upload complete!
    should check if the cookbook exists
    should exit and log to error if the cookbook doesn't exist
Making tarball cookbook_name.tgz
Upload complete!
    should make a tarball of the cookbook
    should list files in tarball           ## Add this spec
Making tarball cookbook_name.tgz
    should exit and log to error when the tarball creation fails
Making tarball cookbook_name.tgz
Upload complete!
    should upload the cookbook and clean up the tarball
  do_upload
    should post the cookbook to "http://cookbooks.opscode.com"
    should alert the user when a version already exists
    should pass any errors on to the user
    should print the body if no errors are exposed on failure

Finished in 0.03267 seconds
12 examples, 0 failures
```

could you wrap this in a context block that indicates that dry-run is set?

```
context "when the --dry-run flag is specified" do
  before do
    Chef::CookbookSiteStreamingUploader.stub(:create_build_dir).and_return("/var/tmp/dummy")
    @knife.config = { :dry_run => true }
    @knife.stub_chain(:shell_out!, :stdout).and_return('file')
  end

  it "should list files in the tarball" do
    expect(@knife).to receive(:shell_out!).with("tar -czf #{@cookbook.name}.tgz #{@cookbook.name}", {:cwd => "/var/tmp/dummy"})
    expect(@knife).to receive(:shell_out!).with("tar -tzf #{@cookbook.name}.tgz", {:cwd => "/var/tmp/dummy"})
    @knife.run
  end

  it "does not upload the cookbook" do
    allow(@knife).to receive(:shell_out!).and_return(true)
    expect(@knife).not_to receive(:do_upload)
    @knife.run
  end
end
```