implements feature to list all gists

it works in this way : 

`gist --list` or `gist -l` : will check if user is authenticated or not
> if user is authenticated : will list all `public` and `private` gist urls with description also
> if user is not authenticated : warn user to login, using `gist --login` and exit.

it also takes one `optional parameter` as `username`
`gist --list abhshkdz` will list all public gists of user `abhshkdz`, it resulted : 
```
[public gists]
https://gist.github.com/7460904 : 
https://gist.github.com/7276887 : Generating a Url slug in PHP
https://gist.github.com/5916998 : Music Widget: http://cdpn.io/zvGqf
https://gist.github.com/5879343 : Sublime Text 2 Installation Instructions for Ubuntu 13.04
https://gist.github.com/4151814 : Self-updating list of my tweets
https://gist.github.com/4148037 : Source nvm + tab completion
https://gist.github.com/3940532 : Links Thread
https://gist.github.com/3325927 : Building up Hubot on Gtalk (deployed on Heroku)
```

@ConradIrwin @rking can you please see this, as it was discussed in issue #168 also
tell me if I need to do anything else :hand:
I don't like the "[public gist]" header very much. Instead, I'd prefer to see one line per gist, and no output if there are no gists and no errors. That way it's easy to use `gist -l` as part of other scripts and aliases. For example using the output above, I could do:
```
alias open_latest_gist='open $(gist -l | head -n 1 | cut -d" " -f1)'
```

And then I can always open my most recent gist by typing `open_latest_gist` into the terminal.