The B-spline R-matrix method for atomic processes: application to atomic structure, electron collisions and photoionization