[utils] allow to disable arguments from Cli classes
[xmpp-master] use CliXXX classes to handle arguments
Misc fixes
[smart] yield SmartException instance on error

Only specialize case is implemented for now.

When no match for the xpath is found the exception PathNotFound is yield by
smart to the client. It also set the current step to 'lfm' so that the user can
choose another server on the next iteration (this behaviour is specific to the
specialize step)

The client has to handle the error or just ignore it. On smartonic, the error
is just logged on the console. On armonic-xmpp-master the error is sent to the
xmpp client with a custom XMPP message (see ArmonicException in xmpp.py).

The exception is yield and not raised because raising an exception in the
smart_call generator would just terminate it.