Cleanup Dockerfile

- combine RUN commands for fewer and smaller layers.
- cleanup inside each RUN so files don't persist in layers.