If you revisit your app registration, you can edit and update it.
So, once you need a key for development purposes go ahead and register one and just fill in more information as you're able.
Don't register an "all purpose" dev key, keep it per app.

Yes, you can change very nearly everything (and actually everything that's user entered) about an application after it's been registered.
You should use the domain you intend to host the client-side app under as your OAuth Domain. While not strictly necessary, it's the sanest option.

You can register apps that aren't web apps.
This page: http://api.stackexchange.com/docs/authentication, gives details for registering a Desktop Application. A mobile phone app comes under the category of a desktop application.
You should use the implicit flow, so check the box at the bottom of registration form, and for the OAuth domain use: ...

Register an API key for the application anyway. You can always go back and edit information later.
The main thing behind the API keys is that you should limit it to 1 per potential/realized application. It would be bad if you made a developer API key and suddenly all 10 of your apps are using the same key.
When they say that no-key is for testing, they ...

For native applications (ie. Desktop apps), in order to participate in an OAuth 2.0 flow you need to embed a browser control (or otherwise instrument one so you can read the current location, including hash) and do an implicit (ie. Client Side) flow with a redirect_uri of https://stackexchange.com/oauth/login_success. When you detect navigation to that url, ...

Reference:
Stack Exchange API Authentication
Looking for a beginner's tutorial to using the API
Yeah the registration form now says, "Website URL is required".
So, if you don't have your own website:
Enter stackexchange.com as the Application Website.
Enter stackexchange.com as the OAuth Domain.
This will allow you to use ...

You can see your apps, that you registered with the registration page, by going to:
stackapps.com/apps/oauth
This page is different for every user and you will be forced to log-in to see it.
Your profile page has an "apps" tab:
This is not the same thing.
That tab shows apps that you have authorized to access your account. EG:
...