Cache builds

# Changes
 - Caches NPM and Bower directories so they don't have to be re-downloaded with each build.