Display names for entities

@robdmc @Wilduck this adds a display_name field for entities. By default, it uses the unicode representation of the concrete entity. The user also has the ability to override the get_display_name function in the entity configuration.

I also updated entity to use our new approach for doing settings files in standalone apps.