enh: imported traitlets code from IPython
BRK: fixing traits
enh: moved api into its own file
enh: adding and enhancing traitlets from ipython repo