Fractionation of Proteins Using Ultrafiltration: Developments and Challenges