Standalone STI

Move STI to standalone repository
- Add ncdc's work to stream tars
- Refactor code and add unit tests
- Switch to using Godeps
Always use fmt.Errorf when you are providing parameters, and errors.New when you are not.

----- Original Message -----
> > +
> > +var version string
> > +
> > +func parseEnvs(envStr string) (map[string]string, error) {
> > +	if envStr == "" {
> > +		return nil, nil
> > +	}
> > +
> > +	envs := make(map[string]string)
> > +	pairs := strings.Split(envStr, ",")
> > +
> > +	for _, pair := range pairs {
> > +		atoms := strings.Split(pair, "=")
> > +
> > +		if len(atoms) != 2 {
> > +			return nil, errors.New("Malformed env string: " + pair)
> 
> Which is better, `errors.New` or `fmt.Errorf`? @smarterclayton
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/openshift/source-to-image/pull/65/files#r19152007