Add an :if_not_exists option to create_table

Adds an `:if_not_exists` option to `create_table` that makes it do nothing if the table already exists. I'm not sure whether it is useful, but it was mentioned in #16366 and I wanted to give a shot at implementing it.

I'm not sure about the test – I tried mimicking those in the same file (although I used `connection` instead of `Person.connection`). There might be an opportunity for a deeper refactoring of `schema_statements.rb` that I'd love to attempt if somebody gives me a few pointers (hopefully in another pull request). Either way, suggestions are welcome.

/cc @jeremy
I thought about that, but chose not to go that way, because:

* It requires an invasive refactoring to `TableDefinition`, that (probably) breaks other adapters
* The syntax is not supported in MS SQL
* Because of indices, `options[:if_not_exists]` needs to be checked in `create_table` anyway

That being said, I implemented this in 90c5408 to show what I mean. If you guys think this is OK, I'd love to squash it :smile: