Add possibility to run selected code from a temporary file instead of passing code in args

`context.getFileWithCode()` can be used in grammars instead of `context.getCode()` allowing to run selected code with languages that don't have interpreters like `php -r`. Tested with PHP on Win7 (see example in grammars.coffee with PHP language).

On Windows it's very useful because I had some problems with line breaks in terminal causing some parse errors...

Edit
---
* Added dependency to node-uuid used in file path
fs.mkdirSync launch an exception if it can't create directory or if it already exists, yes. I think I should add a try catch instead of making the same test 2 times... I prefer throwing an exception with a good message because EEXIST and EACCES are not very clear. :)
How can we handle it in Atom? Is it possible to make an alert or do you will something better? Something like "Hey you can't create temp files so don't use code selection!" :)