text: Title: Strict mode (explicit syntax)
  Body: As we know from [Python-mode vs Subprocess-mode](https://xon.sh/tutorial.html#python-mode-vs-subprocess-mode):
  
  > Take the case of `ls -l`. This is valid Python code, though it could have also been written as `ls - l` or `ls-l`. So how does xonsh know that `ls -l` is meant to be run in subprocess-mode?
  > ...
  > The determination between Python- and subprocess-modes is always done in the safest possible way. If anything goes wrong, it will favor Python-mode. The determination between the two modes is done well ahead of any execution. You do not need to worry about partially executed commands - that is impossible.
  > If you would like to explicitly run a subprocess command, you can always use the formal xonsh subprocess syntax that we will see in the following sections. For example: `![ls -l]`.
  
  I would like to suggest to have the `XONSH_STRICT_MODE` (or `XONSH_EXPLICIT_SYNTAX`) variable to switch parser in to the mode where any command will be interpreted as python forever if there is no explicit syntax. In this mode `ls -l` will be forever python's `ls` variable minus  `l` variable and only `![ls -l]` will run subprocess command.
  
  This will help during writing the scripts to avoid mistakes and have additional arguments for users who have concerns around this. 
  
  Expected behavior:
  ```python
  echo 1
  # 1
  $XONSH_STRICT_MODE = True
  echo 1
  # "NameError: name 'echo' is not defined" OR "SyntaxError: invalid syntax"
  ![echo 1]
  # 1
  ```
  
  ## For community
  ⬇️  **Please click the 👍 reaction instead of leaving a `+1` or 👍  comment**
  