Fixed line deletion issue when cursor is at 0-0

When the cursor was at the start of the first line and the user pressed
backspace, the entire line was deleted. This fixes that.
Refactored Buffer::join_line_with_previous
Fixed file saving functionality