Fixed empty display name (content.displayname in a room member can be null)
Revert "Fixed empty display name (content.displayname in a room member can be null)"

This reverts commit f286a4fcd46ff6c2c42a8732d004d8188aaa65f8.
Fixed empty display name (content.displayname in a room member can be null)
Display ban & kick reason
BF: Make /unban work again
Added sanity checks in commands
Created kick & unban methods in matrixService. Made some factorisation.
doc: kick can take a reason arg
autoscroll down(if the scroller was already at the bottom) when receiving member events
BF: Update the members list on banned & kicked "events"
Change the default power levels to be 0, 50 and 100
AUth the contents of power level events
Empty string is not a valid JSON object, so don't return them in HTTP responses.
BF: tab completion did not work with commands. $scope.input contained only the typed chars not the result of the completion.
Needed to fire an event so that ng update the input model
Merge branch 'develop' of github.com:matrix-org/synapse into develop
Minor spec tweaks.
Added basic captcha, not hooked up
Generate m.room.aliases event when the HS creates a room alias
Validate power levels event changes. Change error messages to be more helpful. Fix bug where we checked the wrong power levels
Modified matrixService.register to specify if captcha results should be sent with the registration request. This is toggleable via useCaptcha in register-controller.