Fibonacci impl

Added classic recursive, tail recursive and iterative implementation of the Fibonacci sequence
@aochagavia just a question: do you know if one is more/less efficient or recommended than the other? 
My understanding is that moving the ownership of the variables (instead of borrowing them) means that the vector is "consumed" and can't be used again at the end of the iteration (since the ownership of elements is moved inside the body of the for and the variable is destroyed when it goes out of scope).
In this case I was ok with this, because I didn't want to use the vector again after the loop.
Not asking in a polemic way, just genuinely curious to know if you've seen recommendation on when to use what.