Insert or replace async

Noticed that the async library was missing `InsertOrReplaceAsync()` method, which I've found useful in the synchronous version, so I added it along with a `InsertOrReplaceAll()` and corresponding `InsertOrReplaceAllAsync()` methods and tests.  @softlion has something similar in his large pull request, but that's been hanging around for a few months and I don't know if he has any plans to further pursue merging it.

Sorry for the ugly diff on `SQLIteConnection.cs` -- the intermingling of the `Insert()`, `InsertAll()`, and `InsertOrReplace()` methods really bugged me (makes them harder to find), so I segregated them.  The only new thing in that file is the `InsertOrReplaceAll()` method.