When gaps in LSN fall on xlog boundaries, recovery could fail.

When looking for the next xlog to recover from, take
into account gaps in LSNs which may occur due to wal_write()
failures.

Add test coverage for create/drop space and error injections.
Add cleanup to alter_limits.test