Add try_parse method

Move code from self.parse into self.try_parse, returning nil instead of raising an error (only raise if using self.parse)
Add parsable? method