A Parallel Coordinate Descent Algorithm for high-dimensional machine learning models penalized by MCP, SCAD, L0 or lasso penalty