added is_initialized() and made init() fail smoothly

I don't know how you're going to feel about this, but let me explain:

I would like some way to programmatically know whether or not to call `init` (without trigging an error). It doesn't have the most amazing name in the world, but `is_initialized` does this.

In addition / alternatively, I would like to be able to call `init` without turning into a nervous wreck over whether it will fail or not, so I changed it to simply bail out. I don't know of a situation where this causes problems, especially considering that you still know whether you created a repo based on output, but I could have missed something.