Fixes #52

~~~~
$ rozo agent start
rozo: only the root user can start agent.
$ rozo agent restart
rozo: only the root user can restart agent.
$ rozo agent stop
rozo: only the root user can stop agent.
$ rozo agent status
pid: 9063
listeners: [storaged, exportd, rozofsmount]
~~~~
Issue #48 - better output with 'rozo layout get'

~~~~
$ rozo layout get -E localhost
layout 1:
  inverse: 4
  forward: 6
  safe: 8
$ rozo layout set 0 -E localhost
$ rozo layout get -E localhostlayout 0:
  inverse: 2
  forward: 3
  safe: 4
~~~~
correction in rozo binary
Issue #48 - better output for 'rozo node status'

~~~~
$ rozo node status -E localhost
localhost:
- {EXPORTD: running}
- {STORAGED: running}
- {ROZOFSMOUNT: not running}
$ rozo node status -r storaged -E localhost
localhost:
- {STORAGED: running}
~~~~
Issue #48 - better output for the useless 'rozo node list'

Useless command ? 'git node status' seems better

~~~~
$ rozo node list -E localhost
localhost:
- [EXPORTD, STORAGED, ROZOFSMOUNT]
~~~~
Issue #48 - better output for 'rozo volume' and 'volume stat'

* add 'rozo volume stat' (must be set in the man)
* better output for 'rozo volume' actions (list, get, stat)

~~~~
$ rozo volume list -E localhost
EXPORTD on localhost:
- VOLUME 1:
  - CLUSTER 1:
    - {STORAGE 1: ' localhost'}
    - {STORAGE 2: ' localhost'}
    - {STORAGE 3: ' localhost'}
    - {STORAGE 4: ' localhost'}
  - CLUSTER 3:
    - {STORAGE 1: ' localhost'}
    - {STORAGE 2: ' localhost'}
    - {STORAGE 3: ' localhost'}
    - {STORAGE 4: ' localhost'}
- VOLUME 2:
  - CLUSTER 2:
    - {STORAGE 1: ' localhost'}
    - {STORAGE 2: ' localhost'}
    - {STORAGE 3: ' localhost'}
    - {STORAGE 4: ' localhost'}

$ rozo volume stat -E localhost
EXPORTD on localhost:
- VOLUME 1:
  - {bsize: 8192}
  - {bfree: 12309448}
  - {blocks: 19223890}
  - CLUSTER 1:
    - {size: 118111584256}
    - {free: 75629248512}
    - STORAGE 1:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 2:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 3:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 4:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
  - CLUSTER 3:
    - {size: 118111584256}
    - {free: 75629248512}
    - STORAGE 1:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 2:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 3:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 4:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
- VOLUME 2:
  - {bsize: 8192}
  - {bfree: 6154724}
  - {blocks: 9611945}
  - CLUSTER 2:
    - {size: 118111584256}
    - {free: 75629248512}
    - STORAGE 1:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 2:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 3:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}
    - STORAGE 4:
      - {host: ' localhost'}
      - {size: 29527896064}
      - {free: 18907312128}

$ rozo volume get 1 -E localhost
VOLUME 1:
- CLUSTER 1:
  - {size: 118111584256}
  - {free: 75629264896}
  - STORAGE 1:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
  - STORAGE 2:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
  - STORAGE 3:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
  - STORAGE 4:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
- CLUSTER 3:
  - {size: 118111584256}
  - {free: 75629264896}
  - STORAGE 1:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
  - STORAGE 2:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
  - STORAGE 3:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
  - STORAGE 4:
    - {host: ' localhost'}
    - {size: 29527896064}
    - {free: 18907316224}
~~~~
Fix undefined bug #?? on 'export update'

When trying to update an export with 'rozo export update' modifying the
password, the system asks the current password and the new one.
The case where no password was set was not handled.

~~~~
$ rozo export list -E localhost
eid 1:
  vid: 1
  root: /srv/rozofs/exports/export_1
  md5: ''
  squota: ''
  hquota: ''
eid 2:
  vid: 1
  root: /srv/rozofs/exports/export_2
  md5: ''
  squota: ''
  hquota: ''

$ rozo -d export update 2 -E localhost -p robertdeniro -s 2G
Traceback (most recent call last):
  File "./rozo", line 267, in main
    getattr(m, 'dispatch')(action_namespace)
  File "/home/dim/git/rozofs/build/manager/build/lib.linux-i686-2.7/rozofs/cli/export.py", line 93, in dispatch
    globals()[args.action.replace('-', '_')](p, args)
  File "/home/dim/git/rozofs/build/manager/build/lib.linux-i686-2.7/rozofs/cli/export.py", line 50, in update
    platform.update_export(args.eid[0], args.current, args.passwd, args.squota, args.hquota)
  File "/home/dim/git/rozofs/build/manager/build/lib.linux-i686-2.7/rozofs/core/platform.py", line 634, in update_export
    raise "Current password needed."
TypeError: exceptions must be old-style classes or derived from BaseException, not str
Traceback (most recent call last):
  File "./rozo", line 283, in <module>
    sys.exit(main())
  File "./rozo", line 276, in main
    raise(e)
TypeError: exceptions must be old-style classes or derived from BaseException, not str
~~~~

Now the system checks if a password is set before asking the current password.

~~~~
$ rozo -d export update 2 -E localhost -p robertdeniro -s 2G
$ rozo export list -E localhost
eid 1:
  vid: 1
  root: /srv/rozofs/exports/export_1
  md5: ''
  squota: ''
  hquota: ''
eid 2:
  vid: 1
  root: /srv/rozofs/exports/export_2
  md5: eqjhaB5aJTeH7A7ZPD7a0
  squota: 2G
  hquota: ''
~~~~
Issue #48 - better output for 'rozo export list'

~~~~
./rozo -d export list -E localhost
EXPORTS:
- EXPORT 1:
  - {vid: 1}
  - {root: /srv/rozofs/exports/export_1}
  - {md5: ''}
  - {squota: ''}
  - {hquota: ''}
- EXPORT 2:
  - {vid: 1}
  - {root: /srv/rozofs/exports/export_2}
  - {md5: algBS6XMDTfpAVan9U1L/}
  - {squota: 2G}
  - {hquota: ''}
~~~~
Issue #48 - better output and correction for 'rozo export get'

~~~~
$ rozo -d export get 1 -E localhost
EXPORTS:
- EXPORT 1:
  - {vid: 1}
  - {root: /srv/rozofs/exports/export_1}
  - {md5: ''}
  - {squota: ''}
  - {hquota: ''}

$ rozo -d export get 1 2 -E localhost
EXPORTS:
- EXPORT 1:
  - {vid: 1}
  - {root: /srv/rozofs/exports/export_1}
  - {md5: ''}
  - {squota: ''}
  - {hquota: ''}
- EXPORT 2:
  - {vid: 1}
  - {root: /srv/rozofs/exports/export_2}
  - {md5: algBS6XMDTfpAVan9U1L/}
  - {squota: 2G}
  - {hquota: ''}
~~~~
Issue #48 - correcions on rozo agent

* permissions on /var/run/rozo-agent.pid
    * only root can write/read
    * world can only read (good for rozo status)
* important correction on rozo agent status
Issue #48 unbelievable correction on the previous corrections
Issue #48 - correction of a freshly discovered bug

About 'rozo volume list/stat'
* after expand, exportd config file get information about the system topology
* but 'rozo volume list' returned nothing
* it was based on stats

* volume stat give no information
* a message warns the user when a exportd or storaged is not running