server: deny join if cluster is full

i do not quite understand this. 
I feel like you can check this at `add` function. And it can simplify all these heck.