Allow to know about Blueprints registeration state

This pull-request permit to know if a blueprint has already been registered or not (very usefull for extensions).

It also remove the never used (and misleading) ``Blueprint._got_registered_once`` attribute.

Now, you can write:
```python
blueprint = Blueprint('blueprint', __name__)

assert not blueprint.is_registered

app = Flask(__name__)
app.register_blueprint(blueprint)
assert blueprint.is_registered
```

It also allows to specify than a blueprint can't be registered twice with the ``register_once`` constructor kwarg:
```python
blueprint = Blueprint('blueprint', __name__, register_once=True)
app = Flask(__name__)
app.register_blueprint(blueprint)
app.register_blueprint(blueprint) # Raise a warning
```