A Generalization of the Binary Shuffle-Exchange Architecture for Non-Power-of-Two System Sizes