Added http.mux based routing

select and case? This could just be left bare. Also, since it needs to occur regularly it should be a ticker.
```go
tick := time.NewTicker(time.Second * time.Duration(timeout))
for {
    <-tick.C
    self.Register()
}
```