Add :publicly_available to Templates

Now Templates can be public or non-public.  This exposes the public flag on
images from cloud providers.

For Openstack, this information is available on the detailed image information
retrieved from the Openstack Glance API.

For Amazon, to avoid making an additional EC2 API call per image, the
:publicly_available information is derived from how the images are gathered by
the EC2 Parser.  For instance, get_private_images sets :publicly_available =
false, and get_public_images sets :publicly_available = true.
thanks for adding tests, and converting the `@template` to a local variable ( `template` )