(2nd attempt)refactoring dhcp(refs: #77)

https://github.com/trema/pio/issues/77
で議論している内容です。

コード重複あってテストとおりませんが、
このブランチをベースに改修を行いたいと思います。

問題ないでしょうか？