Make dataSource assignable through Interface Builder

It's common use when you assign delegates/datasources via InterfaceBuilder (like ```UITableView```). I've also changed property modifier from ```assign``` to ```weak```.