Make Makefile more generic for building roles

This is done in order to prevent users from editing the Makefile
for every new role.

It could be used like the following:
- make chef-server INST=/tmp/edeploy
=> in this case 'chef-server' is build on top of 'base'

- make devstack INST=/tmp/edeploy BASE=openstack-common
=> in this case 'devstack' will be built on top of
'openstack-common' which is itself built on top of 'base'.

Known limitations: it only supports one base iteration. It is not
possible to have role1 -> role2 -> role3 -> base
Add generic 'list' target

Usage:
 make list