appc/spec: various updates

- Add version/name/arch to metadata service explanation
- Remote obsolete metadata rationale
- Remove versions (e.g. "-1.0.0") from names
- Fix a few formatting issues (prefer line-per-sentence)
Merge pull request #232 from jonboulle/spec-labels

appc/spec: various updates
stage1: fix bad path reference :-(
appc/spec: Collapse app and fileset manifests

This reworks the app image and fileset concepts to collapse them into a
single manifest, the App Image Manifest. The execution details are now
optional. It also describes a dependency retrieval/matching process
based on labels.
appc/spec: path_whitelist -> pathWhitelist
appc/spec: "app" -> "manifest"
cas: write download progress to stdout

Using mitchellh/ioprogress, implements a visual for the process of
downloading an aci.

Fixes #208.
Merge pull request #231 from jzelinskie/master

cas: write download progress to stdout
appc/spec: minor cleanup
*: numerous updates to match spec

Changes to schema:
- removing FilesetManifest
- update example manifest to match that in spec
- splitting out App into a dedicated type embedded in AppImageManifest

Changes to tools:
- update aci writer (no more filesets)
- update actool build (no more filesets)
- update actool validate (no more filesets)
- update ace validator to use new types
- update rocket stage0/stage1 to new schema
- update ace app manifests to new spec
- fix a bug in build_aci (double compressing aci)
Merge pull request #241 from jonboulle/spec_app_images

appc/spec: Collapse app and fileset manifests
*: AppImageManifest -> ImageManifest
Merge pull request #246 from jonboulle/appimage

*: AppImageManifest -> ImageManifest
appc/ace: update name in validator
appc: fix relative paths in app validator

strings.TrimPrefix was not correct since it resulted in different
behaviour depending on whether the directory passed had a trailing slash
or not (this meant for example that `actool validate foo/` would succeed
but `actool validate foo` would fail)
Go has a function for the correct behaviour in filepath.Rel, so use it.

Also small style updates to keep up with the recent
appmanifest+filesetmanifest --> ImageManifest change
Merge pull request #249 from jonboulle/fix

appc: fix relative paths in app validator
The tar Header.Name (for example with gnu tar) can start with ./ (for example ./app and
./rootfs/).
Use filepath.Clean and use the cleaned up name. This also makes the logic similar to
ValidateLayout().
Merge pull request #252 from sgotti/fixarchivevalidation

actool: fix archive layout validation
Better gitignore rule for vim tmp files.

- Old rule didn't work for top level dir
- New rule includes not-first vim tmp files

Signed-off-by: Daniel Farrell <dfarrell@redhat.com>
Merge pull request #255 from dfarrell07/gitignore_cleanup

Better gitignore rule for vim tmp files.