Optimal Execution in a General One-Sided Limit Order Book