Allow the environment file to be specified via URL

Environment files could be provided only as local files.

Now `--environment-file` option accepts both local files and urls.

Change-Id: I11717275fe3ca18d0849bc34d5bd30879388cb7e
Closes-Bug: #1233914
Sync base and exceptions from oslo

In the process of unification of the clients code we should
reuse common functionality from Oslo.

Related to blueprint common-client-library-2

Change-Id: Ic19d3eb47b94acec4ed86e95b04ffe7cca0792dc
Reuse BaseManager and Resource from oslo

In the process of unification of the clients code we should
reuse common functionality from Oslo.

Related to blueprint common-client-library-2

Change-Id: I44a1344e3eb40220d8b795fd05e44623195116a2
Supports bash_completion for heatclient

bash_completion feature can improve CLI user experience, projects like
nova, keystone, and cinder already support it.

NOTE: this patch just provides simple functionality, which means cache
for IDs and names is not used (like nova).

Closes-Bug: #1260939
Change-Id: I327e884e1c5907c9ff6f31131c70aee659cca58e
Misc typos in Heat client

Closes-Bug: #1256000

Change-Id: I1f607dd2c0499c1824442542a17e17bef8a0f020
Show better error when json fail to parse template

Change-Id: I0d888fc180dd118c50b93ce4393f06d89780a0c5
Partial-Bug: 1261224
Merge "Sync base and exceptions from oslo"
Merge "Reuse BaseManager and Resource from oslo"
Merge "Allow the environment file to be specified via URL"
Merge "Show better error when json fail to parse template"