Building Bayesian Neural Networks with Blocks: On Structure, Interpretability and Uncertainty