update command: Making use of all the new things

#61, #8 #112 #117

* Improved:update command making use of new previous implemented features
especially: getUserCommandLine

* Enhancement: give option to update specific programs and also ProgramsWhosLastUpdateTimesChanged
```
workerm@notebook:~$ subuser update --all

There is nothing to be updated


workerm@notebook:~$ subuser mark-as-needing-update xterm


workerm@notebook:~$ subuser update --all
The following programs will be updated:
xterm
Do you want to continue updating [y/n]? n


workerm@notebook:~$ subuser update vim --all
The following programs will be updated:
xterm
vim
Do you want to continue updating [y/n]? 


```
* Make use of the new: split install command using python instead of: subprocess.call(["subuser","install",program])
as per https://github.com/subuser-security/subuser/pull/84#issuecomment-35587683

* removed unused part: `installedPrograms = subuserlib.registry.getInstalledPrograms()`

* removed: reason install is now splitted into a lib: as per https://github.com/subuser-security/subuser/pull/84#issuecomment-35587683
```
def install(program):
  subuserlib.utils.subprocessCheckedCall(["subuser","install",program])

```
* improve user feedback in case nothing is to be updated
current output
```
workerm@notebook:~$ subuser update --all
The following programs will be updated:
Do you want to continue updating [y/n]?
```

NEW:
```
workerm@notebook:~$ subuser update --all

There is nothing to be updated
workerm@notebook:~$ 
```