XBlock and Asides common behaviors

@cpennington pls review

I suppose that's fair. We could certainly go for a strategy of pulling out chunks as we don't need them in particular block families, rather than separating them all now. I guess my feeling was that it might be harder to disentangle them later, which is why I leaned towards aggressive decomposition now.