Capstan: Add Search action

search action allows the user to search in a remote repository.

To get all the images do:
capstan search

to search for all the images that contains the word 'tomcat' do
capstan search tomcat

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
Capstan: Add S3 repository

This patch adds s3 remote repository, and index file per image.

This image file contains meta data about the image, like description,
and time of creation.

Both local and remote repository has the same directory structure:
{namespace}/{image}/
Inside the image directory there is an image per supported hypervisor.

After this patch is applied, it will be possible to run:

capstan images
to get the list of local images with their meta-data

capstan search [term]
to search for a remote image/s with an optional search term

capstan pull {image}
pull an image from the remote repository and put it in the local
repository. The original git functionality remains, if the image is
found remotely, it will be downloaded from the S3 repository if not, the
git will be used.

pull update all the types of the available image

This patch also contains a run of gofmt

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>
Capstan: Change the repository to use S3 repository if needed

When doing git pull, the repository will first check if the requested
image is found in the remote s3 repository, if so, it will be downloaded
from there, if not, the git functionality will be used.

In capstan images, if there is meta data (index.yaml) for the image,
that meta data will be printed, if not only the image will be displayed

Signed-off-by: Amnon Heiman <amnon@cloudius-systems.com>