BIDMach - Large-scale Learning with Zero Memory Allocation