App Engine compatible changes.

App Engine is unable to use this package as calling [net.InterfaceAddrs()] (https://github.com/conformal/btcutil/blob/master/certgen.go#L80) is not allowed at runtime. See [this comment](https://github.com/conformal/fastsha256/pull/1#issuecomment-53837030) for discussion.

This commit factors out net.InterfaceAddrs() into a separate file allowing various implementations to be used. Right now there is a net_noop.go implementation that just returns an empty `[]net.Addr`.

This change makes the `btcutil` package compatible with App Engine.

I am not 100% comfortable with the names of the functions and files so please think of better ones if you can.