tools/eclipse: mark --root as a required argument

argparse Arguments can be flagged as required. When missing,
parse_args() outputs an error message and exit 2 which we previously
handled with custom code.

Note the sys.exit(1) was never invoked since setting an error cause
argparse to exit immediately after printing the message.

Pass `required = True` to the root option and remove custom handling.

This also change the generated usage message slightly removing the
brackets surrounding `-r ROOT` to indicate it is required.

BEFORE

 $ ./tools/eclipse/project.py ; echo $?
 usage: Create Eclipse Project [-h] [-r ROOT] ...
 Create Eclipse Project: error: Root option not provided
 2

AFTER
 $ ./tools/eclipse/project.py ; echo $?
 usage: Create Eclipse Project [-h] -r ROOT ...
 Create Eclipse Project: error: the following arguments are required: -r/--root
 2

Change-Id: I2cb592bd88ffb9614a69d96faa70e3d431d815dd
diff --git a/tools/eclipse/project.py b/tools/eclipse/project.py
index f30a171..cbad31e 100755
--- a/tools/eclipse/project.py
+++ b/tools/eclipse/project.py
@@ -29,7 +29,7 @@
 ])
 
 opts = argparse.ArgumentParser("Create Eclipse Project")
-opts.add_argument('-r', '--root', help='Root directory entry')
+opts.add_argument('-r', '--root', help='Root directory entry', required=True)
 opts.add_argument('-n', '--name', help='Project name')
 opts.add_argument('-x', '--exclude', action='append', help='Exclude paths')
 opts.add_argument('-b', '--batch', action='store_true',
@@ -41,10 +41,6 @@
                   action='store', default=None, dest='bazel_exe')
 args = opts.parse_args()
 
-if not args.root:
-  opts.error('Root option not provided')
-  sys.exit(1)
-
 root = args.root
 ROOT = os.path.abspath(root)
 while not os.path.exists(os.path.join(ROOT, 'WORKSPACE')):