Initial implementation of incremental build in self-contained ruby builder image

This is a demo of incremental build using plain Docker. 

I like this because:

1. It is super simple :-)
2. You don't need any local storage for artifacts (could be streamed from the app image to builder using UNIX pipe)
3. You don't need to store artifacts inside container/image
4. You don't need to volume mount and fight with permissions
5. No whitelist required, just specify the files/dirs you want to archive `save-artifacts` command.

I don't like this because:

1. The command line is a bit complex for the daily use (however, STI can make it user friendly ;-)
2. Streaming from one container to another is currently a bit wonky ;-)

So, the basic workflow is following:

**First do the 'clean' build**

```
$ git clone https://github.com/mfojtik/sinatra-app-example && cd sinatra-app-example
$ docker run --cidfile="cid" -v $(pwd):/tmp/src openshift/centos-ruby-builder
---> Installing application source
---> Building your Ruby application from source
---> Installing dependencies using Bundler
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/..
Installing rack (1.5.2) 
Installing puma (2.8.1) with native extensions 
Installing rack-protection (1.5.2) 
Installing tilt (1.4.1) 
Installing sinatra (1.4.4) 
Using bundler (1.1.4) 
Your bundle is complete! It was installed into /opt/ruby/bundle
---> Build successful. Commit this image with: docker commit be13bb030ef0 ruby-app
$ docker commit $(cat cid) ruby-app && rm -f cid
```

**Then save artifacts**

```
$ docker run --rm --entrypoint="/opt/ruby/bin/save-artifacts" ruby-app > artifacts.tar
```

**Then do a Incremental build**

```
$ docker run  -v $(pwd):/tmp/src -i openshift/centos-ruby-builder < artifacts.tar
---> Restoring artifacts from STDIN
---> Installing application source
---> Building your Ruby application from source
---> Installing dependencies using Bundler
Using rack (1.5.2) 
Using puma (2.8.1) 
Using rack-protection (1.5.2) 
Using tilt (1.4.1) 
Using sinatra (1.4.4) 
Using bundler (1.1.4) 
Your bundle is complete! It was installed into /opt/ruby/bundle
---> Build successful. Commit this image with: docker commit d6a664fb4058 ruby-app
```

Alternatively, we can execute this in one long shot:
(currently not working, I have some streaming issues from 'save-artifacts' which keeps the stdout open... but this is fixable)

```
$ docker run --rm --entrypoint="/opt/ruby/bin/save-artifacts" ruby-app | docker run --cidfile="cid" -v $(pwd):/tmp/src -i openshift/centos-ruby-builder
```