Add restful API controllers

Add specs and testing for restful API controllers
Ok.. but i have a feeling like you're going to reget it. If you introduce proposal into server code it will highlight all the places we have to change it here.. which we don't wanna do right now. Go ahead with this but be prepared to retreat.