## Description
- Adds `build/*` to `.gitignore` when invoking `sui move new` (extending
it if it already exists)
- Splits out `move new` implementation into smaller functions
## Test plan
I added to the `move new` unit tests; checking the case where the
`.gitignore` already exists, and extended the existing tests to check
that it was added.
Note that I didn't add tests to `sui move new`, only `move new`.
---
## Release notes
Check each box that your changes affect. If none of the boxes relate to
your changes, release notes aren't required.
For each box you select, include information after the relevant heading
that describes the impact of your changes that a user might notice and
any actions they must take to implement updates.
- [ ] Protocol:
- [ ] Nodes (Validators and Full nodes):
- [ ] Indexer:
- [ ] JSON-RPC:
- [ ] GraphQL:
- [x] CLI: When issuing `sui move new` command, a `.gitignore` file will
be added to the project's folder.
- [ ] Rust SDK:
- [ ] REST API: