Store Guardfile source (:inline, :custom, :default)

This will ensure default or custom Guardfiles won’t be considered as
inline when re-evaluating.
Add an attribute reader for :guardfile_path
Don't store evaluated Guardfile in options[: guardfile_contents]

Store it in the instance var guardfile_contents instead.
Merge pull request #568 from guard/fix-540

Fix #540 & #566: Guardfile re-evaluation