Use default_project_id as user project for keystone v3

This fixes the keystone api module so that it looks for the
default_project_id attribute on the user and uses that as the
primary project.

Closes-Bug: 1347840
Change-Id: If3ea4625ae50ae4561df3e566d1236b86226307b
Merge "Use default_project_id as user project for keystone v3"
User signup/signin in newly designed jio-dashboard

Port to master the new user signup, change password, phone number, email
addressed in below blueprints in havana_jio_dashboard branch:
https://blueprints.launchpad.net/jio/+spec/user-registration
https://blueprints.launchpad.net/jio/+spec/change-password
https://blueprints.launchpad.net/jio/+spec/change-phone-number
https://blueprints.launchpad.net/jio/+spec/change-email

P.S.
* The change-* functionalities were implemented using customization modules
in havana_jio_dashboard w.r.t the below URL:
http://docs.openstack.org/developer/horizon/topics/customizing.html
Now, they are implemented as plugins w.r.t the below upstream blueprint
https://blueprints.launchpad.net/horizon/+spec/plugin-panel-config

* User registration feature related URLs loading is slightly modified to avoid
modifications to openstack_dashboard.urls.py file. Instead, a new file
horizon_jiocloud/root_urls.py is added. So, for those urls to work,
add below entry in local_settings.py file
ROOT_URLCONF='horizon_jiocloud.root_urls'

The intention is to avoid as much changes as possible to core files in master
so that rebasing with upstream master is less painful.

Implements: blueprint icehouse-based-jiodashboard
Implements: blueprint user-signup-signin-new-jio-dashboard
User signup/signin in newly designed jio-dashboard

Follow up to commit c43647fc1c5961e374c034a7392f3e592b335f0a
Addressed code review feedback:
* Removed debug statements in horizon_jiocloud/root_urls.py
* Removed swap file horizon_jiocloud/README.rst~
User signup/signin in newly designed jio-dashboard

Follow up to commit c43647fc1c5961e374c034a7392f3e592b335f0a
Port the fix for below bug to master
https://bugs.launchpad.net/jio/+bug/1324475

The code from havana_jio_dashboard is refactored
to be easily rebase-able with upstream master

Implements: blueprint user-signup-signin-new-jio-dashboard
Port to master the havana-based-jio-dashboard
Most of them are listed in the below blueprint
https://blueprints.launchpad.net/jio/+spec/dashboard-ui-t1

Below are the commits details:
=============================
Merged:
https://github.com/JioCloud/horizon/commit/832c005c2b9105073f0a6274ca51f0e6749cc99b
https://github.com/JioCloud/horizon/commit/95e467c71bb2bac3a3e29448c21efd26cce9ea5c
https://github.com/JioCloud/horizon/commit/2e95dbdd8a24bb477bc89be0b8ae901e99465961
https://github.com/JioCloud/horizon/commit/0f83f9663d1391de366f7c8ae928b1a661e7c607
https://github.com/JioCloud/horizon/commit/bdfe2e21fb08cf8547f17b673ee4fd0dbba7f6fb
https://github.com/JioCloud/horizon/commit/70d27217fca47385f57befb74d5c7f5a0b480ad0
https://github.com/JioCloud/horizon/commit/f6e1a5a3e93b763d7c718a5d0696aee6c7c44a6b
https://github.com/JioCloud/horizon/commit/14c8f7e358c00c5abc0fe43295fe055eea6b8f94
https://github.com/JioCloud/horizon/commit/a897db6c1ead7d6bced0b603b467bb6ee01ed970
https://github.com/JioCloud/horizon/commit/c704618af5537880a161abeeeb43a02f66d6863e
https://github.com/JioCloud/horizon/commit/9e3766a608da0ba2ca78bd9091308817311cd320
https://github.com/JioCloud/horizon/commit/2dcfecbda280e628d6f68eaad73d43d1b30a4e1b
https://github.com/JioCloud/horizon/commit/2bb0e02e3eabdaa03a9bd72d882a891aa680460f
https://github.com/JioCloud/horizon/commit/744cbb02cdcdd176019ffe841f9c30ce6726a70d
https://github.com/JioCloud/horizon/commit/3686848e7911ec03658419e6726e880f6a9ab9c5
https://github.com/JioCloud/horizon/commit/9b118a9134688ec0285b4b6da951174f20f228c2
https://github.com/JioCloud/horizon/commit/288cc916f1d8f0dc76312f5344aff18a1d898cc4

Ref:
http://code.tutsplus.com/tutorials/spotlight-jquery-replacetext--net-17905
http://benalman.com/projects/jquery-replacetext-plugin/
Below '*.po' file changes are refactored as jQuery changes...
since '*.po' files are rapidly changing in master...
and hence difficult to be rebased upon:
https://github.com/JioCloud/horizon/commit/deea5ab8c347fac6c095c1f031b6e917e1a2bc14
https://github.com/JioCloud/horizon/commit/54a776c9f49829fd303c64413909c295018f075b
https://github.com/JioCloud/horizon/commit/fdbe445a25cf367134102d7bfced9d894430f694
https://github.com/JioCloud/horizon/commit/81b6a0914fe6b58360dddd4ae42a57467c1b3cd6
https://github.com/JioCloud/horizon/commit/e62793d89ad3579067f5f9f4655b013b03edd244
https://github.com/JioCloud/horizon/commit/4570bfa9d6a3efbcaea2600eec3a6d191da576e0
https://github.com/JioCloud/horizon/commit/54a0c3d72cf39517c79b2682f892a78a57a2a1ef
https://github.com/JioCloud/horizon/commit/83decf334f1746c7e4253ba41bdf64f6de01933e
https://github.com/JioCloud/horizon/commit/a897db6c1ead7d6bced0b603b467bb6ee01ed970
https://github.com/JioCloud/horizon/commit/e324968daa902c46758c337ff088c3765be6ea54
https://github.com/JioCloud/horizon/commit/03d9c7fa5889b7d23193e37a1b75f7ef22712a3a
https://github.com/JioCloud/horizon/commit/6064b958bc9c8b3d8b53c326cc1bdb9ed6fb988c
https://github.com/JioCloud/horizon/commit/3008e3cc7194dfaa3ecd047f4a8ec2d9e4d5ae9c
https://github.com/JioCloud/horizon/commit/43c8e3373235453ad6968a66fb6e3bc965281154
https://github.com/JioCloud/horizon/commit/239c923698553ae8e051a299548cd99bb522f409
https://github.com/JioCloud/horizon/commit/13e42ff799f404ed443d8abbcae38ce0924d9ab9
https://github.com/JioCloud/horizon/commit/761cba3eb1e0ee36367e04631e5d2f4c1766e47a
https://github.com/JioCloud/horizon/commit/4b350c34f230fadb1a0798d7339371733c46b5a1

Already addressed in master:
https://github.com/JioCloud/horizon/commit/0ebcc671d94388db771c9d3cfd62b4e6f40d9160

Merged in commits for blueprint user-signup-signin-new-jio-dashboard:
https://github.com/JioCloud/horizon/commit/bc34cc28da92def5c725e4080088d439a0bfe479
https://github.com/JioCloud/horizon/commit/4077583f3581713807182a092d48bdbc9d0ec1ef
https://github.com/JioCloud/horizon/commit/f3fd57c71872d8f5a98fc6d2d1c5be21e685979c

Not needed:
https://github.com/JioCloud/horizon/commit/d85bd6c1b4e44705b35f786aa7d02ca6faacb5a1
https://github.com/JioCloud/horizon/commit/edb54e890146f04acec840e75f76a013928c3ea7
https://github.com/JioCloud/horizon/commit/cf00f0abc58f08bf5d1fd04c565cee6c24616d62
https://github.com/JioCloud/horizon/commit/8ab9bcf321dd7a10ca435b3e8bba4ba740cd6efb
https://github.com/JioCloud/horizon/commit/7f31adadace8896ce3f428f4e03b5d9ce0c19178
https://github.com/JioCloud/horizon/commit/87ccb93d4084bdf3eee4302b9754813c8fb38ddb
https://github.com/JioCloud/horizon/commit/c24b4c1d807ab4785dd01eef41e1aaabcf25434a
https://github.com/JioCloud/horizon/commit/c96b6509e3034a2542b17dc0306f983ce3ffd466
https://github.com/JioCloud/horizon/commit/1241df22de55ecb20fd3b984a5a4ac47d0b5f2a7
https://github.com/JioCloud/horizon/commit/e69dd848be92fef15c4150da79ca2c4a1361fa16

To be fixed in local_settings.py patches in 'packaging' branch:
https://github.com/JioCloud/horizon/commit/7c60c838960c5eb873ba3ff457696ded1d25a3d2

Implements: blueprint icehouse-based-jiodashboard
Port to master the havana-based-jio-dashboard

Most of them are listed in the below blueprint
https://blueprints.launchpad.net/jio/+spec/dashboard-ui-t1

Merged Naveen's commits with proper GIT commit message:
Blueprint - https://blueprints.launchpad.net/jio/+spec/dashboard-ui-t1
https://github.com/JioCloud/horizon/commit/1bf6850456666f18ea90007c555ef37eefcacf57
 + Item 8 - Select "Boot From Image" as default
https://github.com/JioCloud/horizon/commit/15d9c9f068dce1d05a9b8c5957eaa51b9e2c7479
 + Item 4 - Remove "Availability Zone" from the dashboard.
 + Item 17- Remove volume type selection drop-down while creating volume.
 + Item 9 - Remove Admin/Password from "Access & Security" tab while launching an instance.
https://github.com/JioCloud/horizon/commit/005a9792d9a6fa111a6440ab8dba6a5101a70fac
 + Item 7. Remove option for entering instance count from the UI.
 + 2nd file change not Required as...
   its already merged in commit for https://github.com/JioCloud/horizon/pull/2
https://github.com/JioCloud/horizon/commit/1234b1d6b4e73e0e85eca45bacb372d9b678fdf3
 + Item 11. Remove "Soft Reboot" and "Terminate Instance" buttons from the Instances view.
 + "("h4:first").hide()" corresponds to Item 22 - Remove "Manage Compute"
   Its not required as 'Manage Compute' no more exists in master branch's UI

Not Required as its already addressed above:
https://github.com/JioCloud/horizon/commit/f95e44e9dabbcd843f8710ae58ba3ea6a86824e3
https://github.com/JioCloud/horizon/commit/7a4864a13635ad334232f60205d33edd278c84b5

N.B.
* Instance count is a required field in UI. So, it can't be simply removed through jquery. So, its first set as 'required=False' and then removed during form init in '_init_instance_name' method and a default value is set in '_init_instance_count' method as its a mandatory field.
* RJIL settings are appended to local_settings.py.example based on the UI team discussion. Refer blueprint for more details

Implements: blueprint icehouse-based-jiodashboard