improvements to bash completion

[x] added nbconvert and history subcommands

 [x] generalized subcommand completer logic

 [x] profile, history, locate commands now have completions

 [x] bash completion: ipython <tab> shows only subcmds
 
 If a partial filename, or an flag or option argument is invoked, those
 completions will still take place, but by default, to aid the user in the
 discovery of subcommands, pressing tab immediately after ipython will list
 *only* the subcommands as possible completions