1)
Basically there are two ways here.
Right now (2014/09) you can go for SDK 10+ or SDK 15+. SDK 10 still has about 12% of total active users. As indicated here: https://developer.android.com/about/dashboards/index.html?utm_source=ausdroid.net
Supporting from API 10+ is a pain, it requires using a lot of backports and compatibility libraries. But you're in luck! It's pretty safe to develop on SDK 15+, as you can see from the dashboards that will cover close to 90% of all devices.
2) You can use Genymotion. It's free for small developers and beginners. You can also use the native emulator but it's laggy, if you use Intels HAX and GPU rendering it will be decent. Have a look here.
3) Well yes and no. You should develop for the best device you can get, a Google Nexus is prefered because it gets the newest versions of Android fastest. Then you should probably get the worst device you want to support and test on it. The more devices you test on the better. Also Android Studio has the option to preview layouts on multiple devices.