Use new ruby syntax along with Arel and other query optimizations

- Move Sqlite3 gem in the development group
- Use rails new find_by instead of find_by_commit
 `Tip.find_by(commit: commit.sha).nil?` instead of  `Tip.find_by_commit(commit.sha).nil?`
- Use new Ruby Syntax.. :smile: 
- Use Arel not instead of hardcoded string queries.
`where.not(refunded_at: nil)` instead of `where('refunded_at is not null')`
- In user model the generate_login_token is renamed from generate_login_token! because it is not generating any exception as such.