improved rvmrc support 

Current implementation had 2 flaws: 

*   it was unable to handle [implicit change directory](http://fishshell.com/docs/2.0/faq.html#faq-cd-implicit)
*   overriding `cd` function hurts my sense of beauty

Basically, I've simply moved code from former `cd` function to new one created which is called every time a `PWD` variable is updated (thanks to `--on-variable PWD` in function definition).