Standalone STI

Move STI to standalone repository
- Add ncdc's work to stream tars
- Refactor code and add unit tests
- Switch to using Godeps
I don't like this double `incremental` if, I'd move the second into the first, as it doesn't make sense to go to the later if the first is `false`.  Or even better would be to rewrite it as such:
```
func (h *buildHandler) determineIncremental() (err error) {
	if h.request.Clean {
		return
	}

	// can only do incremental build if runtime image exists
	incremental, err := h.docker.IsImageInLocalRegistry(h.request.Tag)
	if err != nil {
		return
	}

	// check if a save-artifacts script exists in anything provided to the build
	// without it, we cannot do incremental builds
	if incremental && h.fs.Exists(filepath.Join(h.request.workingDir, "upload", "scripts", "save-artifacts")) {
		h.request.incremental = true
	}

	return
}

```