Preview

:construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: 
WARNING!!! ACHTUNG!!! ATTENZIONE!!!
:construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: :construction: 

We need to put some integration tests that directly hit Heroku. This needs quite a bit of thought but, nevertheless, we need to address it

@exalted: Your feedback on the current design is very welcome. Especially, what do you think about this piece of code?

```ruby
origin      = Heroku::Application.from_name("catchup-web")
destination = Heroku::Application.from_name("preview-app-1234")

destination.destroy
origin.fork_into(destination)
destination.deploy_branch(tarball)
destination.run_command("rake db:migrate")
```

Even though I am really proud of the readability this has, I would be happy to hear any (positive) critic from you.
That's an option. However, I would like to point out that with this design we gain a bit of reusability. The reason is that we are "handling" where the fork should happen, whereas if we had the suffix generated internally, that detail would be totally hidden and Heroku::Application would be bound to our "domain logic".

This way we let our application handle where to put forks, etc., while moving the whole complexity of the real fork to our Heroku wrapper.

Let's keep it here for now and move it somewhere else when the time comes?