Squash into d5f780c8d4102dbc1cf28c34956c2d0f95ff449e

Per code review comments:
    Remove bogus comment
    Only set_namespace to all_nspace for ls requests
    Change local variable name because it was too close to librados constant name

Correct usage message
Revamp based on code review
Use private implementation for ListObject called ListObjectImpl
Don't use API class in the message protocol pg_nls_response_t
Implement the encode/decode directly, so we can enhance later

Assignment operator not working