Cache available packages on startup

- This makes an asynchronous call to available.packages(), then copies
  over the generated .rds file to the current session's working
  directory on completion. This allows us to avoid the 2+ second stall
  on the first packrat::status of a session.