adding support for username_prompt

no documentation yet
banners now private method and fixed

works if user doesn't define any banners.  Need to write unit test for
this explicitly but currently it's tested by fake-a-router just by no
banners being defined.
added disconnect method
fixed _banner to default to []
fixed the fake-a-router tests