* Fix bug in dartgen: Import path should match the generated api filename
* Use Route.HandlerName as generated dart API function name
Reasons:
- There is bug when using url path name as function name, because it may have invalid characters such as ":"
- Switching to HandlerName aligns with other languages such as typescript generation
* [DartGen] Add ability to generate api for url path parameters such as /path/:param
0. support null-safety code gen
1. supports -legacy flag for legacy code gen
2. supports -hostname flag for server hostname
3. use dart official format
4. fix some some bugs
Resolves: #1602