blueprint: Added register_blueprint() method

Allow blueprints to have nested blueprints registered on them. This allows scenarios like this:

`/users` -> `users_blueprint with url_prefix = '/users'` registered on the app
`/users/<id>` -> `user_blueprint with url_prefix = '/<id>'` registered on the users_blueprint

see commit 5974ed2 for further documentation.

This implements issue #593 by adding @dontcare4free's solution into the `Blueprint` class.