Parallel Algorithms and Generalized Frameworks for Learning Large-Scale Bayesian Networks