Move enabling as a login shell outside of the if node['fish']['set_as_default'] section. Have the gaurd check for the entire path of fish, instead of simply fish

The rationale behind the first change is that it makes sense to add fish to the list of shells, even if it isn't currently being set as a default shell for any user.
The logic behind using the full fish path in the guard is that the package manager version of fish installs to a different path then the source version. The problem
with this is when attempting to add the source version to the shell list, it won't do it because the package version is already there.
Add a user attribute and use it in the default recipe

Previously, when set_as_default was marked to true, it would set fish as the default shell for a user called vagrant. By
using an attribute instead, a user of the fish cookbook can override the attribute to make fis the default shell for any
user.
Update README.md