e-implement to make configuration not immutable

1. Simplify config.yaml to have 3 set of configuration:
   a. HPCC package  version and checksum
   b. SSH Keys
   c. HPCC components configratation (thor/roxie)

2. Re-implement config-changed hook
   a. Update HPCC package. HPCC has related short release cycle.
      Usually every 2-3 months there is a new/update release.
      User can update HPCC package by:
         juju set <hpcc service> hpcc-version=<new version> package-checksum=<checksum>

   b. Update SSH Keys
         juju set <hpcc service> ssh-key-public=<new key> ssh-key-private=<new key>

   c. Update HPCC cluster topology:
         juju set <hpcc service> thor-ratio=<new ratio> roxie-ratio=<new ratio>
      The ratio is based on compute nodes which is <number of unit node> minus
      <support node>.

3. Update README.md. Particularly add 4GB memory requirement.

4. Make the scripts under hpcc/bin optinal. There is a readme which tell the purpose
   of these scripts

5. We still support juju local provider
   But due to the problem reported in launchpad bug 1288969 it can run multiple roxie
   nodes in lxc environment. If users want launch multiple nodes they need set
   roxie-ratio to 0 in config.yaml.