Use /var/tmp/ or ~/.cache directory instead of /tmp for building
This is a followup to this issue - https://github.com/nim-lang/langserver/issues/46#issuecomment-1694694228

In short, I think its best for nimble to use the `~/.cache` directory to store its build files instead of `/tmp` - this will help avoid permission errors, and more importantly it'd avoid filling up the user's RAM. Currently every time I have to install or update anything using nimble I'm afraid that it might fill up my RAM and crash my system, build files inside `/tmp` can fill up my RAM much more quickly than I thought.

Slightly related question: Why did nimble had to download and compile the entire Nim language for me to install `nimlangserver` ? I already had Nim installed using [choosenim](https://aur.archlinux.org/packages/choosenim-bin) so I don't understand why nimble had to manually compile everything again, correct me if I'm mistaken.