Rust allows structs to hold mutable references to owned data, enabling them to modify the data in-place. This requires a deep understanding of lifetimes and Rust's borrowing rules to ensure memory safety.
In this challenge, you will implement a struct named MutableTextFinder that holds a mutable reference to a String. This struct will allow for both searching and modifying the content of the String.
The MutableTextFinder struct should provide the following functionality:
new: Creates a new instance of MutableTextFinder with the given content.find_first: Searches for the first line containing a given keyword and returns it as an immutable reference (Option<&str>).replace_lines: Replaces all lines containing a given keyword with a replacement string.get_text: Returns the reference to the content.